11. april 2002 - 15:36
Der er
9 kommentarer og 1 løsning
Kalde 2 funktioner i OnSubmit
Jeg bruger 2 funktioner til at validere nedenstående formular. De virker fint hver for sig, men når jeg vil kalde dem begge, så virker kun 'den første'. Glæder mig allerede til løsningen! <html> <head> <SCRIPT TYPE="text/javascript" LANGUAGE=JAVASCRIPT> <!-- Count = 0 function checkCheckBoxes(hvad) { if (Count>=1){ return true }else{ alert('Vælg mindst én konference.') return false } } //--> <!-- function IsDataValid() { if (document.TheForm.Navn.value=='') { alert("Angiv venligst navn."); document.TheForm.Navn.focus(); return false; } else { return true; } } //--> </script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <form action="default.asp?Action=InsertDB" method="post" name=TheForm OnSubmit="return checkCheckBoxes();IsDataValid(); "> <input type=checkbox name=KonferenceID Value=1 onClick='(this.checked)?Count++:Count--'> Konference 1 <br> <input type=checkbox name=KonferenceID Value=2 onClick='(this.checked)?Count++:Count--'> Konference 2 <br> <br> Navn <input type="text" name="Navn" size="45" value=""> <br> <input type="submit" value="Tilmeld" name="submit"> </form> </body> </html>
Annonceindlæg fra Infor
11. april 2002 - 15:52
#1
Prøv at benytte en function checkForm til at kalde de to andre: function checkForm() { var isValid = true; if (!checkCheckBoxes()) isValid = false; if (!IsDataValid()) isValid = false; return isValid; }
11. april 2002 - 15:53
#2
Det var selvfølgelige et svar!
11. april 2002 - 15:54
#3
... Jeg sidder og sover!
11. april 2002 - 15:59
#4
Jeg har prøvet at bruge din løsning. Men den virker desværre ikke. Måske har jeg forstået svaret forkert? Se selv den nye kode: <html> <head> <SCRIPT TYPE="text/javascript" LANGUAGE=JAVASCRIPT> <!-- Count = 0 function checkCheckBoxes(hvad) { if (Count>=1){ return true }else{ alert('Vælg mindst én konference.') return false } } //--> <!-- function IsDataValid() { if (document.TheForm.Navn.value=='') { alert("Angiv venligst navn."); document.TheForm.Navn.focus(); return false; } else { return true; } } //--> <!-- function checkForm() { var isValid = true; if (!checkCheckBoxes()) isValid = false; if (!IsDataValid()) isValid = false; return isValid; } //--> </script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <form action="default.asp?Action=InsertDB" method="post" name=TheForm OnSubmit="return checkForm();"> <input type=checkbox name=KonferenceID Value=1 onClick='(this.checked)?Count++:Count--'> Konference 1 <br> <input type=checkbox name=KonferenceID Value=2 onClick='(this.checked)?Count++:Count--'> Konference 2 <br> <br> Navn <input type="text" name="Navn" size="45" value=""> <br> <input type="submit" value="Tilmeld" name="submit"> </form> </body> </html>
11. april 2002 - 16:06
#5
hvad er det der ikke virker? jeg er ikke helt sikker på et jeg har forstået dit problem rigtigt.
11. april 2002 - 16:47
#6
Din første kode er ok, du skal bare rette lidt i din onsubmit, så du får den rigtige returværdi ud fra begge valideringsfunktioner: onsubmit='return(checkCheckBoxes() && IsDataValid());'
11. april 2002 - 18:40
#7
Til Mrr - jeg tror, at min testning var fejlbehæftet, for at sige det officielt. Det virkede da godt nok! Til yellow - Din løsning er særdeles elegant!! Tak for det. Kan I ikke lige give et svar igen, så jeg kan give jer jeres velfortjente point?
12. april 2002 - 08:38
#8
Afviger point, mrr kom jo med en fungerende løsning først :)
09. juni 2003 - 17:32
#10
lukker
Vi tilbyder markedets bedste kurser inden for webudvikling