Det er sikkert noget med min ekstra IF-sætning der er blevet tilføjet der volder problemer. Er der en kyndig der vil tjekke mit script... Jeg ønsker - som det nok trods alt fremgår af ovenstående - følgende:
1) Først tjekker jeg at fil-feltet ikke er tomt. 2) Er fil-feltet IKKE tomt, så tjekker jeg om filtype er "pdf" 3) Hvis fil-type IKKE er "pdf" får bruger et valg: "Fortsætte JA /NEJ" 4) Hvis bruger vælger "ja" - så upload alligevel 5) Hvis bruger vælger "nej" - så submit ikke
PS: "vent_venligst.style.display='block';" er blot et layer der skal vises, hvis bruger submitter form.
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Så er det vel sådan her: --------------------------------------------- <script language="JavaScript" type="text/JavaScript"> <!-- function CheckFileType(){ var filename = document.upload_fil.file.value; var filelength = parseInt(filename.length)-3; var fileext = filename.substring(filelength,filelength+3);
if(document.upload_fil.file.value!=""&&fileext.toLowerCase()!="pdf"){ var agree=confirm("Filtype: "+fileext+"\n\nKun PDF-filer bør uploades.\nØnsker du at fortsætte?"); if(agree)vent_venligst.style.display='block'; return true; }else{ return false; } } //--> </script>
I øvrigt burde det ikke være nødvendigt at parseInt her: var filelength = parseInt(filename.length)-3; Dvs. du kan rette til: var filelength = filename.length-3;
Synes godt om
Slettet bruger
11. juni 2008 - 11:11#3
Hej, tak for svar - der er et eller andet galt, for den submitter formen, selvom man vælger "Cancel".
Nå ja, selvfølgelig, det overså jeg. Brug: ------------------------------------------ <script language="JavaScript" type="text/JavaScript"> <!-- function CheckFileType(){ var filename = document.upload_fil.file.value; var filelength = filename.length-3; var fileext = filename.substring(filelength,filelength+3);
if(document.upload_fil.file.value!=""&&fileext.toLowerCase()!="pdf"){ var agree=confirm("Filtype: "+fileext+"\n\nKun PDF-filer bør uploades.\nØnsker du at fortsætte?"); if(agree){ vent_venligst.style.display='block'; return true; }else{ return false; } }else{ return false; } } //--> </script>
Synes godt om
Slettet bruger
11. juni 2008 - 11:16#5
Hmm ja - men der er stadig fejl - for hvad nu hvis fil-typen ER pdf - så submitter den jo ikke (som jeg lige kan se dit script)?
:) ------------------------------------------- <script language="JavaScript" type="text/JavaScript"> <!-- function CheckFileType(){ var filename = document.upload_fil.file.value; var filelength = filename.length-3; var fileext = filename.substring(filelength,filelength+3);
if(document.upload_fil.file.value!=""){ return false; }else if(fileext.toLowerCase()!="pdf"){ var agree=confirm("Filtype: "+fileext+"\n\nKun PDF-filer bør uploades.\nØnsker du at fortsætte?"); if(agree){ vent_venligst.style.display='block'; return true; }else{ return false; } } return true; } //--> </script>
Synes godt om
Slettet bruger
11. juni 2008 - 11:22#7
Hvad siger du til:
<script language="JavaScript" type="text/JavaScript"> <!-- function CheckFileType(){ var filename = document.upload_fil.file.value; var filelength = filename.length-3; var fileext = filename.substring(filelength,filelength+3);
if(document.upload_fil.file.value!=""){
if (fileext.toLowerCase() != "pdf"){ var agree=confirm("Filtype: "+fileext+"\n\nKun PDF-filer bør uploades.\nØnsker du at fortsætte?"); if(agree){ vent_venligst.style.display='block'; return true; }else{ return false; } }else{ return true; } } } //--> </script>
Synes godt om
Slettet bruger
11. juni 2008 - 11:27#8
Jeg vil nemlig gerne at den submitter selvom feltet er tom - da jeg har lavet noget serverside tjek af felterne i asp - altså der markerer hvilke felter der mangler. Kan du leve med min kode? :-)
-- jeg ville starte fra formen, så kan man lave det elegantere:
<script type="text/javascript"> function validerFileType(f){ var fil = f.file.value;//I øvrigt ikke en god ide, at du bruger navnet 'file' på en input type="file" var filetype = fil.replace(/^.+\.(.{3})$/i,"$1"); if(!fil.match(/^.+\.(|pdf)$/i)){ if(!confirm("Filetype: " + filetype + "\n\nKun PDF-filer bør uploades.\nØnsker du at fortsætte?") return false; } document.getElementById("vent_venligst").style.display='block'; return true; } </script>
<form ... onsubmit="validerFileType(this);">
-- ikke alvorligt gennemarbejdet, men ideen kan forhåbentlig ses, og kan briges til mange andre upload-check !-)
if(!confirm("Filetype: " + filetype + "\n\nKun PDF-filer bør uploades.\nØnsker du at fortsætte?"))
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.