Hej.
Jag skulle vilja köra en funktion onsubmit som kollar om värdet i en textbox finns i en array.
Men hur skulle den kollen av värdena se ut?
mv icaaq
6 svar · 314 visningar · startad av icaaq
Hej.
Jag skulle vilja köra en funktion onsubmit som kollar om värdet i en textbox finns i en array.
Men hur skulle den kollen av värdena se ut?
mv icaaq
Ett sätt:
<script type="text/javascript">
var allowedTexts = ["hejsan",
"kalle",
"nisse",
"olle"];
function inArray(a,b){
for(var i=0; i<b.length; i++)
if(b[i]==a)
return true;
return false;
}
</script>
...
<form onsubmit="return inArray(this.theText.value, allowedTexts)">
<input type="text" name="theText" />
<input type="submit" />
</form>
För att göra en "case insensitive" kontroll, d.v.s. att det kvittar om man skriver med versaler eller gemener kan du skriva:
function inArray(a,b){
for(var i=0; i<b.length; i++)
if(b[i]==a.toLowerCase())
return true;
return false;
}
Tack det verkar funka....men nu är det så att det som ska kollas är en type='file' och jag vill alltså kolla om endast filnamnet finns i arrayen. hur skulle det se ut....?
<script type="text/javascript">
var allowedFiles = ["img.png",
"img.jpeg",
"img.jpg",
"img.gif"];
function checkFile(filePath){
filePath.match(/([^\/\\]+)$/);
return inArray(RegExp.$1, allowedFiles);
}
function inArray(a,b){
for(var i=0; i<b.length; i++)
if(b[i]==a.toLowerCase())
return true;
return false;
}
</script>
...
<form onsubmit="return checkFile(this.theFile.value)">
<input type="file" name="theFile" />
<input type="submit" />
</form>
Jag vet inte om jag utrycker mig knasigt men jag ska försöka igen.
Jag laddar upp en array på filer som finns i en mapp på servern (detta är redan klart).
Nu vill jag kolla om användaren laddar upp en fil med lika namn och filändelse.
Jag bytte plats på false/true i inarray funktionen men utan någon större lycka.
Hoppas att det blev lite klarare :)
mv icaaq
Om du inte vill att man ska kunna ladda upp en fil med samma namn som en fil som redan finns kan du ändra till
function checkFile(filePath){
filePath.match(/([^\/\\]+)$/);
return !inArray(RegExp.$1, allowedFiles);
}
Tack....