14. oktober 2005 - 11:47
Der er
26 kommentarer og 1 løsning
Tjek om input text er udfyldt hvis
Hej jeg ved - om java script - kan finde dem og indsætte dem i min kode. Men nu har jeg brug for et lille script som kan tjekke at en inputbox er udfyldt/valg et element i den HVIS der er valgt en fil i en anden box - her er et udpluk fra min form: <form enctype="multipart/form-data" action="<? echo $_SERVER["PHP_SELF"] ?>" method="post"> <table> <tr> <td align="left"> Vælg en eller flere filer til upload:<br> <input name="upfile[]" type="file" size="60"> <select name="path0"> <option></option> <option>Salg_Montage</option> <option>Reklamation</option> <option>Claim</option> </select><br> <input name="upfile[]" type="file" size="60"> <select name="path1"> <option></option> <option>Salg_Montage</option> <option>Reklamation</option> <option>Claim</option> </select><br> Det der skal ske er altså at jeg skal tjekke om der er valgt noget i path# selecten HVIS der er valgt en fil i upfile[].. Og hvis ikke skal den smide en alert box. Kan det lade sig gøre (kan det sikkert) og er der nogen som vil hjælpe...???
Annonceindlæg fra Computerworld
14. oktober 2005 - 12:18
#1
<form ... onsubmit="return tjeckValg(this);"> function tjeckValg(frm){ if(frm.elements["upfile[]"].value!=""&&frm.path0.selectedIndex==0){ alert("FEJL..."); return false; } return true; } det er fremgangsmåden men, du er nød til give dine file-felter forskellige navne...
14. oktober 2005 - 12:29
#2
Hvorfor? Man kan da godt gennemløbe felter med samme navn... eller er det en PHP-problemstilling?
14. oktober 2005 - 12:31
#3
...det ville dog måske være en fordel også at kalde alle sine select-elementer det samme.
14. oktober 2005 - 12:38
#4
jeg tror file-felter får et nummer ... via[] men jeg prøver lige så hører i
14. oktober 2005 - 14:51
#5
<script type="text/javascript"> function valider(f){ var e = f.elements; for(i=0;e.length>i;i++){ if(e[i].type == 'file' && e[i].value != "" && e[i+1].type == 'select' && e[i+1].sellectedIndex == 0){ alert('Du skal vælge type !-) e[i+1].focus(); return false; } } return true; } </script> -- og i formen skal du: <form enctype="multipart/form-data" action="<? echo $_SERVER["PHP_SELF"] ?>" method="post" onsubmit="return valider(this);"> -- der må så ikke forekomme en file-input uden en select umiddelbart efter !-)
14. oktober 2005 - 14:52
#6
Hov, alert-linjen skal selvfølgelig skrives færdig: alert('Du skal vælge type !-)');
17. oktober 2005 - 09:06
#7
Øhhh hvis det nu er en radio-group den skal tjekke på er det så ikke samme kode eller? Uddrag af form: <form enctype="multipart/form-data" action="<? echo $_SERVER["PHP_SELF"] ?>" method="post" onclick="return valider(this);"> <td> <input name="singlefile" type="file" class="inputUp" size="40"> <label class="inputUp"> <input type="radio" name="path" value="nysalg" class="inputUp"> Nysalg </label> <label class="inputUp"> <input type="radio" name="path" value="service" class="inputUp"> Service </label> ??
17. oktober 2005 - 10:21
#8
Glem 17/10-2005 09:06:09 - jeg opretter nyt spørgsmål til den... Vender tilbage når jeg har testet dit forslag her...
17. oktober 2005 - 16:22
#9
-- og der var en tavetosse: ... for(i=0;e.length>i;i++){ if(e[i].type == 'file' && e[i].value != "" && e[i+1].type == 'select' && e[i+1].selectedIndex == 0){ alert('Du skal vælge type !-)'); ... -- og en radio-gruppe skal testes på en helt anden måde, da man skal løbe dem igennem enkeltvis, så det bliver kodemæssigt meget mere kompliceret !-)
17. oktober 2005 - 19:16
#10
Og den med radio-gruppen har jeg fået løst her
http://www.eksperten.dk/spm/656683 - dog er der kun en fil...
Øhhh du skriver noget om point i ovenstående spørgsmål???
Jeg tester din seneste lidt senere i aften....
17. oktober 2005 - 19:40
#11
Det virker stadig ikke... <script type="text/javascript"> function valider(f){ var e = f.elements; for(i=0;e.length>i;i++){ if(e[i].type == 'file' && e[i].value != "" && e[i+1].type == 'select' && e[i+1].selectedIndex == 0){ alert('Du skal vælge type!'); e[i+1].focus(); return false; } } return true; } </script> <center> <form enctype="multipart/form-data" action="<? echo $_SERVER["PHP_SELF"] ?>" method="post" onsubmit="return valider(this);">
20. oktober 2005 - 00:17
#12
Hello roenving - nogle forslag???
20. oktober 2005 - 00:28
#13
Hvad gør den forkert ?-)
20. oktober 2005 - 00:36
#14
Den uploader selvom der ikke er valgt noget i selectboxen.... og også når der er...
20. oktober 2005 - 00:42
#15
-- og formen opfylder stadig de forudsætninger om, at der kun forekommer file-inputs, når det næste form-element er en select-boks ?-) -- prøv at linke til et eksempel !-)
20. oktober 2005 - 00:44
#16
Det ligger på et intranet så det kan jeg desværre ikke - men du kan få script og hele formen her: <script type="text/javascript"> function valider(f){ var e = f.elements; for(i=0;e.length>i;i++){ if(e[i].type == 'file' && e[i].value != "" && e[i+1].type == 'select' && e[i+1].selectedIndex == 0){ alert('Du skal vælge type!'); e[i+1].focus(); return false; } } return true; } </script> <center> <form enctype="multipart/form-data" action="<? echo $_SERVER["PHP_SELF"] ?>" method="post" onsubmit="return valider(this);"> <table> <tr> <td align="left"> Vælg en eller flere filer til upload:<br> <input name="upfile[]" type="file" size="60" class="inputUp"> <select name="path0" class="inputUp"> <option></option> <option>Salg_Montage</option> <option>Reklamation</option> <option>Claim</option> </select><br> <input name="upfile[]" type="file" size="60" class="inputUp"> <select name="path1" class="inputUp"> <option></option> <option>Salg_Montage</option> <option>Reklamation</option> <option>Claim</option> </select><br> <input name="upfile[]" type="file" size="60" class="inputUp"> <select name="path2" class="inputUp"> <option></option> <option>Salg_Montage</option> <option>Reklamation</option> <option>Claim</option> </select><br> <input name="upfile[]" type="file" size="60" class="inputUp"> <select name="path3" class="inputUp"> <option></option> <option>Salg_Montage</option> <option>Reklamation</option> <option>Claim</option> </select><br> <input name="upfile[]" type="file" size="60" class="inputUp"> <select name="path4" class="inputUp"> <option></option> <option>Salg_Montage</option> <option>Reklamation</option> <option>Claim</option> </select><br> <input name="upvalue" type="hidden" value="1"><br> <input type="submit" value="Gem fil" id="submit"> <input name="nulstil" type="reset" value="Reset" id="reset"> <input name="Upload filer" type="button" title="Upload files" onClick="hideupload('upload');return false;" value="Luk Upload" id="close"> </td> </tr> </table> </form> </center> Håber du kan hjælpe udfra dette?
20. oktober 2005 - 00:55
#17
Argh, jeg havde glemt/overset, at en select-type er select-one eller select-multiple ,-( Prøv sådan: <script type="text/javascript"> function valider(f){ var e = f.elements; for(i=0;e.length>i;i++){ if(e[i].type == 'file' && e[i].value != "" && e[i+1].type.indexOf('select') == 0 && e[i+1].selectedIndex == 0){ alert('Du skal vælge type!'); e[i+1].focus(); return false; } } return true; } </script>
20. oktober 2005 - 00:55
#18
<ole> Fejl: <input ............ id="submit"> Med den overskriver du submit-metoden. Kald den noget andet :) /mvh </bole>
20. oktober 2005 - 00:57
#19
- og vælg også en anden id til din reset-knap. Brug aldrig ord, du ved eksisterer i forvejen. Det er at sætte vand over til øretæver ;o)
20. oktober 2005 - 00:58
#20
- eller rettere: "Brug aldrig ord, du ved eksisterer i forvejen, som identifier."
20. oktober 2005 - 00:59
#21
>>Ole Tak for dine gode råd (det virker nu - men jeg tager den til mig den ører-figne ;O)
20. oktober 2005 - 01:00
#22
-- og også name="Upload filer" er et ugyldigt navn ...
20. oktober 2005 - 01:03
#23
Øhhh hvorfor - mellemrum?
20. oktober 2005 - 01:06
#24
Det virker bare så Smuuuuuuukt nu... og jeg har rettet som de herre påtalt - lidt god programmeringsskik er aldrig af vejen... Roenving er du venlig at smide et svar så jeg endnu engang kan sige tak for hjælpen... Og så god nat og sov godt....
20. oktober 2005 - 01:06
#25
20. oktober 2005 - 01:06
#26
Velbekomme '-)
20. oktober 2005 - 01:08
#27
-- og tak for point ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling