01. april 2003 - 10:09
Der er
13 kommentarer og 1 løsning
check om alle -navngivne- felter er udfyldt
Hejsa. i en form er der bl.a. to felter som skal være udfyldt. hvordan kan jeg sørge for at felterne er udfyldte hvis jeg sender antallet af linier med til funtionen. kode:php: <input type=text name=ipfra[$x] value='$ipfra[$x]' onblur='ValiderIPadresse(this)'> tænkt kode:java script: function CheckIpFelter(number) { x=document.aclchangeform; for (nbr = 0; nbr < number; nbr++) { ipfra=x.elements["ipfra"]; iptil=x.elements["iptil"]; alert (ipfra); alert (iptil); } return (false); } og her får jeg ikke engang værdierne.. kort fortalt vil jeg gerne have at funktionen løber alle felter som hedder ipfra og iptil igennem og kontrollerer om de er udfyldt. hvis man kunne focusere på feltet hvor den er gal ville det være et plus - men ikke et krav. anyone
Annonceindlæg fra Pax8
01. april 2003 - 10:19
#1
Noget i denne stil? function CheckIpFelter() { var x=document.aclchangeform; var ctls_ipfra = x.getElementByName("ipfra"); var ctls_iptil = x.getElementByName("iptil"); for(var t=0; t<ctls_ipfra.length; t++) { if( ctls_ipfra[t].value != "" ) { alert("Det markerede felt er ikke udfyldt"); ctls_ipfra[t].focus(); return; }; } for(var t=0; t<ctls_iptil.length; t++) { if( ctls_iptil[t].value != "" ) { alert("Det markerede felt er ikke udfyldt"); ctls_iptil[t].focus(); return; }; } return (false); }
01. april 2003 - 10:39
#2
hmm.. den kommer ikke ud med nogen advarsel.. btw: skal det ikke være if( ctls_iptil[t].value == "" )
01. april 2003 - 10:44
#3
Nå jo... ;)
01. april 2003 - 10:47
#4
hmm.. hvis nu jeg siger at mit inputfelt viser name=ipfra[0] vil den så ikke skulle finde noget ala var ctls_ipfra = x.getElementByName("ipfra[y]"); hvor y er nummeret i rækkefølgen? selv hvis jeg sætter en alert ind lige efter de to var f.eks. alert (ctls_ipfra); sker der ikke noget.
01. april 2003 - 10:51
#5
flytter jeg alerten op ovenover var ctls_ipfra = x.getElementByName("ipfra[y]"); så alerter den. Måske! er der en fejl i var linien..
01. april 2003 - 10:55
#6
Mig og mine dårlige vaner. Jeg glemte == i stedet for = : <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <TITLE></TITLE> </HEAD> <BODY> <form name=aclchangeform> <input name=ipfra value=""> <input name=iptil value=""> <input name=ipfra value=""> <input name=iptil value=""> </form> </BODY> </HTML> <script lang=js> function CheckIpFelter() { var x = document; var ctls_ipfra = x.getElementsByName("ipfra"); var ctls_iptil = x.getElementsByName("iptil"); for(var t=0; t<ctls_ipfra.length; t++) { if( ctls_ipfra[t].value == "" ) { alert("Det markerede felt er ikke udfyldt"); ctls_ipfra[t].focus(); return; }; } for(var t=0; t<ctls_iptil.length; t++) { if( ctls_iptil[t].value == "" ) { alert("Det markerede felt er ikke udfyldt"); ctls_iptil[t].focus(); return; }; } return (false); } CheckIpFelter(); </script>
01. april 2003 - 10:56
#7
Hvis det er meget vigtigt for dig at det kun er input-felterne i formen der bliver behandlet må du lige sige til.
01. april 2003 - 10:58
#8
Øh - glem min kommentar med dårlige vaner. Ikke desto mindre virker det nye eksempel i min browser.
01. april 2003 - 11:04
#9
men hvis der er noget der ligner <input name=ipfra[0] value=""> <input name=iptil[0] value=""> <input name=ipfra[1] value=""> <input name=iptil[1] value=""> så vil den ikke.. er jeg irriterende nu ;-)
01. april 2003 - 11:11
#10
jeg har leget lidt med det.. function CheckIpFelter(number) { var x = document; for (nbr=0; nbr<number;nbr++) { var ctls_ipfra = x.getElementsByName("ipfra\[nbr\]"); var ctls_iptil = x.getElementsByName("iptil\[nbr\]"); alert (ctls_ipfra.value); for(var t=0; t<ctls_ipfra.length; t++) { if( ctls_ipfra[t].value == "" ) { alert("Det markerede felt er ikke udfyldt"); ctls_ipfra[t].focus(); return; }; } for(var t=0; t<ctls_iptil.length; t++) { if( ctls_iptil[t].value == "" ) { alert("Det markerede felt er ikke udfyldt"); ctls_iptil[t].focus(); return; }; } } return (false); } og her angiver den undefined i en alertbox nu (alert (ctls_ipfra.value);) og det har den ikke gjort før. number er antallet af linier jeg har i formen pt.
01. april 2003 - 11:13
#11
hvis jeg tager dit eksempel virker det også i min browser. men det er med ipfra og iptil.. ikke ipfra[0] og iptil[0] og det er der mit problem ligger. øv.
01. april 2003 - 11:14
#12
Ja ;) men jeg svarer alligevel: Kan dette bruges? <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <TITLE></TITLE> </HEAD> <BODY> <form name=aclchangeform> <input name=ipfra value=""> <input name=iptil value=""> <input name=ipfra value=""> <input name=iptil value=""> </form> </BODY> </HTML> <script lang=js> function CheckIpFelter() { var x = document; var ctls = x.getElementsByTagName("INPUT"); for(var t=0; t<ctls.length; t++) { if( ctls[t].name == "ipfra" || ctls[t].name == "iptil" ) { if( ctls[t].value == "" ) { alert("Det markerede felt er ikke udfyldt"); ctls[t].focus(); return; }; }; } return (false); } CheckIpFelter(); </script>
01. april 2003 - 11:18
#13
NUUUU er den der: function CheckIpFelter() { var x = document; var ctls = x.getElementsByTagName("INPUT"); for(var t=0; t<ctls.length; t++) { if( ctls[t].name.substring(0,5) == "ipfra" || ctls[t].name.substring(0,5) == "iptil" ) { if( ctls[t].value == "" ) { alert("Det markerede felt er ikke udfyldt"); ctls[t].focus(); return; }; }; } return (false); }
01. april 2003 - 11:20
#14
hvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad du er en helt... her en hund
Vi tilbyder markedets bedste kurser inden for webudvikling