mikulMedlem sedan aug. 2001810 inlägg
Hej!
Jag skulle behöva göra ett script som kollar i fall man försöker ladda upp en bild med mellanslag i namnet eller ej. I sånna fall skall man få en alert som ploppar upp o säger att man skall ändra namnet på bilden och försöka igen.
Försökte först med regexp, men kom sedan på att det inte funkar, med tanke på att sökvägen får ju lov att innehålla mellanslag.
Men allt detta är tyvärr bortom mina ynkliga kunskaper inom javascript. i asp hade det sett ut så här ungefär.
filename = [b]Right(filepath,Len(filepathname)-InstrRev(filepath,"\"))[/b]
If instr(filename, " ") <> 0 then
response.write("You cant use space in an image! Please go back and try again.<br>")
Hur gör man i javascript?
@ndersMedlem sedan juni 200026 914 inlägg
Kan du inte bara spara filen med mellanslag rensade ur filnamnet istället? Jag skulle inte bli glad om jag blev tvungen att hålla på och byta namn på allt innan jag fick ladda upp.
mikulMedlem sedan aug. 2001810 inlägg
Jo det kan man ju iof göra. Men jag vill ändå veta :D
mikulMedlem sedan aug. 2001810 inlägg
Dessutom så går det inte att ladda upp bilder med mellanslag :(
Peter SMedlem sedan dec. 20025 484 inlägg
function t(str) {
return !/^[^\s]+$/.test((str = str.replace(/\//g, "\\")).substring(str.lastIndexOf("\\")));
}
Använd sökvägen som argument.
:)
Erik JuhlinMedlem sedan maj 20007 625 inlägg
Du gillar verkligen att få med så mycket som möjligt på en rad..? :)
mikulMedlem sedan aug. 2001810 inlägg
Vet inte hur jag skall få fram filnamnet med javascript...
När man laddar upp en bild kan formulärinformationen se ut ungefär så här: c:\mapp\en annan mapp\filnamnet med mellanslag.gif
Så jag måste på nått sätt dela upp så att man slipper adressen till filen... så att man sedan kan skicka bara "filnamnet med mellanslag.gif" till funktionen... hur gör man det?
Peter SMedlem sedan dec. 20025 484 inlägg
Använd sökvägen menar jag naturligtvis :r
:)
mikulMedlem sedan aug. 2001810 inlägg
Hmmm, får det inte riktigt att funka....
hur skall jag göra? ser ut så här nu:
<script language="javascript">
function t(str) {
return !/^[^\s]+$/.test((str = str.replace(/\//g, "\\")).substring(str.lastIndexOf("\\")));
}
</script>
<form method="post" action="outputfile.asp" name="foo" enctype="multipart/form-data">
<input type="file" name="blob" size="20">
<textarea rows="4" name="texten" cols="36"></textarea>
<input type="submit" value="Upload">
</form>
Peter SMedlem sedan dec. 20025 484 inlägg
:)
function t(str) {
return /^[^\s]+$/.test((str = str.replace(/\//g, "\\")).substring(str.lastIndexOf("\\")));
}
...
<form method="post" action="outputfile.asp" name="foo" enctype="multipart/form-data" onsubmit="return t(this.elements['blob'].value)">
<input type="file" name="blob" size="20">
<textarea rows="4" name="texten" cols="36"></textarea>
<input type="submit" value="Upload">
</form>
mikulMedlem sedan aug. 2001810 inlägg
Det funkar inte...
Det blir precis som förut, den laddar nästa sida och laddar upp bilden med fel namn, vilket gör att det blir fel...
Om man väljer en bild som innehåller mellanslag så laddar den asså upp den som vanligt. :(
det skall komma en alert då tycker jag som säger att man inte får göra så...
Peter SMedlem sedan dec. 20025 484 inlägg
<script type="text/javascript">
<!--
function t(str) {
if (!/^[^\s]+$/.test((str = str.replace(/\//g, "\\")).substring(str.lastIndexOf("\\")))) {
alert("Meddelande!");
return false;
}
return true;
}
//-->
</script>
<form method="post" action="outputfile.asp" name="foo" enctype="multipart/form-data" onsubmit="return t(this.elements['blob'].value)">
<input type="file" name="blob" size="20">
<textarea rows="4" name="texten" cols="36"></textarea>
<input type="submit" value="Upload">
</form>
:)
mikulMedlem sedan aug. 2001810 inlägg
Tack så mycket för hjälpen Peter S! :D Det funkar nu fin-fint ;)