23. april 2003 - 23:06
Der er
13 kommentarer og 2 løsninger
Disable Submit knap...
Hejsa... hvor får jeg en submit knap til kun at være enabled når visse felter i en <form> er udfyldt... ?
Annonceindlæg fra Computerworld it-jobbank
23. april 2003 - 23:19
#1
<FORM NAME="form"> <TEXTAREA OnChange="document.form.submitknap.disabled = false" OnKeyPress="document.form.submitknap.disabled = false"></TEXTAREA> <INPUT TYPE="submit" NAME="submitknap" DISABLED> </FORM> //>Rune
23. april 2003 - 23:31
#2
Jeg faldt lige over dette eks jeg vil smide: Du kan udvide denne if med flere form felter hvis de også skal med i tjekket if ((document.navn.t1.value=='') || (document.navn.t3.value=='')) { Og så skal dette tilføje til det input så functionen kaldes: onchange="checksumbit();" <html><head> <script language="javascript"> function checksumbit() { if ((document.navn.t1.value=='') || (document.navn.t3.value=='')) { document.navn.send.disabled = true; } else { document.navn.send.disabled = false; } } </script> </head> <body onload="checksumbit();"> <form name="navn"> <input type="text" name="t1" onchange="checksumbit();"> <input type="text" name="t2"> <input type="text" name="t3" onchange="checksumbit();"> <input type="submit" name="send"> </form> </body> </html>
23. april 2003 - 23:32
#3
eller <script language="javascript"> function skift() { if (frm.felt1.value.length>0 && frm.felt2.value.length>0){ frm.knap.disabled = false; } } </script> <form name="frm"> <input type="text" size="20" name="felt1" onchange="skift();"> <input type="text" size="20" name="felt2" onchange="skift();"> <input type="submit" name="knap" DISABLED> </form>
23. april 2003 - 23:38
#4
Jeg har fire Input type=text der skal stå noget i alle sammen.... i får lige navnene: navn, adr, by, dkkort og min submit: <input type='submit' name='submit' value='Send Bestilling'> Hvordan skal det så se ud ?
23. april 2003 - 23:40
#5
Sådan fx.: <script language="javascript"> function skift() { if (frm.navn.value.length>0 && frm.adr.value.length>0 && frm.by.value.length>0 && frm.dkkort.value.length>0){ frm.knap.disabled = false; } } </script> <form name="frm"> <input type="text" size="20" name="navn" onchange="skift();"> <input type="text" size="20" name="adr" onchange="skift();"> <input type="text" size="20" name="by" onchange="skift();"> <input type="text" size="20" name="dkkort" onchange="skift();"> <input type="submit" name="knap" DISABLED> </form> //>Rune
23. april 2003 - 23:41
#6
<html><head> <script language="javascript"> function checksumbit() { if ((document.navn.navn.value=='') || (document.navn.adr.value=='') || (document.navn.by.value=='') || (document.navn.dkkort.value=='')) { document.navn.send.disabled = true; } else { document.navn.send.disabled = false; } } </script> </head> <body onload="checksumbit();"> <form name="navn"> <input type="text" name="navn" onchange="checksumbit();"> <input type="text" name="adr" onchange="checksumbit();"> <input type="text" name="by" onchange="checksumbit();"> <input type="text" name="dkkort" onchange="checksumbit();"> <input type='submit' name='send' value='Send Bestilling'> </form> </body> </html>
23. april 2003 - 23:48
#7
medions> Dit ser mest rigtig ud, men submit forbliver disabled...
23. april 2003 - 23:54
#8
javanoob> Prøv når du har udfyldt alle felterne at klik ved siden af felterne, bliver den så enabled? //>Rune
23. april 2003 - 23:55
#9
Prøv lige sådan her: <script language="javascript"> function skift() { if (frm.navn.value.length>0 && frm.adr.value.length>0 && frm.by.value.length>0 && frm.dkkort.value.length>0){ frm.knap.disabled = false; } } </script> <form name="frm"> <input type="text" size="20" name="navn" onkeyup="skift();"> <input type="text" size="20" name="adr" onkeyup="skift();"> <input type="text" size="20" name="by" onkeyup="skift();"> <input type="text" size="20" name="dkkort" onkeyup="skift();"> <input type="submit" name="knap" DISABLED> </form> //>Rune
23. april 2003 - 23:56
#10
Hvordan afgør man "Dit ser mest rigtig ud" ? Det er nøjaktig det samme: Det ene bruger && samt > det andet er med || smat =
24. april 2003 - 00:01
#11
Grunden til den ikke bliver aktiv lige med det samme er fordi eventet onChange føst komme når man forlader input feltet. Så du skal tykke på tab vidre før knappen bliver aktiv.
24. april 2003 - 00:05
#12
Har du taget hele input formen eller beholdt din egen submit knap?
24. april 2003 - 00:29
#13
Der er da sørme blevet en spændende debat ud af det her spøgsmål ;))
24. april 2003 - 02:00
#14
<ole> I eagleeye's er det ikke så smart at bruge samme navn til formen og det første felt. I medions' adresseres forkert - og det er vigtigt med en 'else' til sidst. Til gengæld er det smartest at lægge kaldet på onkeyup-event'en. Så deeeeeeeeet ..... :) Sådan ville jeg nok skrive det: <script language="javascript"> function skift() { varf = document.frm; if (f.navn.value.length>0 && f.adr.value.length>0 && f.by.value.length>0 && f.dkkort.value.length>0){ f.knap.disabled = false; } else f.knap.disabled = true; } </script> <form name="frm"> <input type="text" size="20" name="navn" onkeyup="skift();"> <input type="text" size="20" name="adr" onkeyup="skift();"> <input type="text" size="20" name="by" onkeyup="skift();"> <input type="text" size="20" name="dkkort" onkeyup="skift();"> <input type="submit" name="knap" DISABLED> </form> /mvh </bole>
24. april 2003 - 02:01
#15
Oooops .... var f = document.frm; ;o)
Vi tilbyder markedets bedste kurser inden for webudvikling