22. august 2006 - 02:35
Der er
13 kommentarer og 1 løsning
ved tryk på send, skal den sende uanset hvad.
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function valider(f) { for (i = 0; i < f.elements.length/2; i++) { a = i+1; if (f.elements['nr'+'['+a+']'].type == "text" && f.elements['nr'+'['+a+']'].value=="") { f.elements['nr'+'['+a+']'].focus(); return false; } } return true; } //--> </SCRIPT> </HEAD> <BODY onload="document.f.elements['nr'+'[1]'].focus()"> <form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)"> <input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br> <input name="Send" type="submit" value="Send"> </form> </BODY> </HTML>
Annonceindlæg fra Deloitte
22. august 2006 - 08:19
#1
Fjern dit validate tjek: <form name="f" method="post" action="kode_array_data.asp">
22. august 2006 - 08:20
#2
Hvad mener du, skal den bare sende uanset om formen validere eller ej? Så er det bare at fjerne kaldet til valideringen: <form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)"> - rettes til: <form name="f" method="post" action="kode_array_data.asp">
22. august 2006 - 08:20
#3
Hmmm :^)
22. august 2006 - 13:32
#4
Nej, for når enter trykkes, springer den til næste ledige nr[] felt, men hvis submit trykkes,skal den uanset om der er tomme felter eller ikke
22. august 2006 - 13:46
#5
Så udnytter vi submit()'s egenskab til at gå uden om onSubmit metoden: <form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)"> <input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br> <input name="Send" type="Button" value="Send" onClick="this.form.submit();"> </form>
22. august 2006 - 13:47
#6
Skal vis egentlig være en submit knap: <input name="Send" type="Submit" value="Send" onClick="this.form.submit();return false;">
22. august 2006 - 13:59
#7
Den sender nu ved tryk på enter, hvor den entelig bare skulle gå til næste felt. Det er kun ved tryk på send den skal sende, eller der ikke er flere tomme felter. <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function valider(f) { for (i = 0; i < f.elements.length/2; i++) { a = i+1; if (f.elements['nr'+'['+a+']'].type == "text" && f.elements['nr'+'['+a+']'].value=="") { f.elements['nr'+'['+a+']'].focus(); return false; } } return true; } //--> </SCRIPT> </HEAD> <BODY onload="document.f.elements['nr'+'[1]'].focus()"> <form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)"> <input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br> <input name="Send" type="Submit" value="Send" onClick="this.form.submit();return false;"> </form> </BODY> </HTML>
22. august 2006 - 14:30
#8
Af en eller anden grund aktiveres submit knappens onclick kald ved "enter" tryk. Fatter jeg minus af hvorfor :o) Jeg har lavet dette workaround, men jeg kan ikke garentere for crossbrowser funktionalitet. Jeg er dog rigmelig sikker på at det vil fungere i alle: <form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)"> <input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br> <input name="Send" type="Submit" value="Send" style="width:0px;height:0px;"> <input type="Button" value="Send" onClick="this.form.submit();return false;"> </form> Ville helst have brugt display:none, men af en eller anden grund skal knappen vises (selv om brede og højde er 0)
22. august 2006 - 16:36
#9
Nu springer den ikke til næste ledige felt, ved tryk på enter
22. august 2006 - 16:37
#10
prøver lige igen. Nu springer den ikke til næste ledige felt, ved tryk på enter, men submitter derimod.
22. august 2006 - 16:44
#11
Så.... Efter mange lange forsøg, fandt jeg løsningen: <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function valider(f) { for (i = 0; i < f.elements.length/2; i++) { a = i+1; if (f.elements['nr'+'['+a+']'].type == "text" && f.elements['nr'+'['+a+']'].value=="" && event.keyCode == "13") { f.elements['nr'+'['+a+']'].focus(); return false; } } return true; } //--> </SCRIPT> </HEAD> <BODY onload="document.f.elements['nr'+'[1]'].focus()"> <form name="f" method="post" action="kode_array_data.asp" onKeyPress="if(event.keyCode==13) return valider(this);"> <input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br> <input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br> <input type="Button" value="Send" onClick="this.form.submit();return false;"> </form> </BODY> </HTML> //-------- fennec lig et svar, så splitter vi.
22. august 2006 - 17:19
#12
Men test lige i hvilke browsere event.keyCode virker !-)
22. august 2006 - 18:52
#13
roenving :> Det betyder ikke spor for mig, hvilke det virker i eller ikke, så længe det virker hos mig ;o) Bruger det sammen med en stregkode scanner, i forbindelse med noget optælling. Men tak for tanken ;o)
23. august 2006 - 09:24
#14
.o) <-- One Eyed Jack
Vi tilbyder markedets bedste kurser inden for webudvikling