14. april 2005 - 13:35
Der er
38 kommentarer og 1 løsning
Validering af tekstfelt
Hej Søde eksperter Jeg har problemer... igen Denne gang med en form der ikke sender mail via .PHP, hvis javascript validering findes på formen... Hvad gør jeg?? Jeg se godt nok siden med "tak for din... bla bla bla..." men jeg modtager ikke nogen mail... har jeg skrevet noget forkert under <form method="post" action="mailingliste.php" onsubmit="validering();return false;"> ?????????? Er I søde at hjælpe - Charlotte <head> <META NAME="Generator" CONTENT="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <link href="../../../styles/framestyle.css" rel="stylesheet"> <title></title> <script type="text/javascript"> function validering() { error = 0; if((document.forms[0].email.value=='email') && (error==0)) { alert('email skal udfyldes'); document.forms[0].email.focus(); error = 1; } if(error == 0) document.forms[0].submit(); } </script> </head> <body bgcolor="#ffffff"> <table border="0" style="border-collapse: collapse" bordercolor="#111111" width="69%" height="157"> <tr class="text"> <td width="50%" height="9"> <form method="post" action="mailingliste.php" onsubmit="validering();return false;"> <input type="text" name="email" size="29" style="font-size: 8 pt; font-family: Tahoma; border: 1px solid #000000; " value="email" onfocus="if(this.value=='email')this.value='';"><style="font-family: Verdana; font-size: 10 px"><font size="1"> *</font></td> </tr> <tr class="text"> <td width="50%" height="8" style="border-right-style: none; border-right-width: medium"> <input type="text" name="fullname" size="29" style="font-size: 8 pt; font-family: Tahoma; border: 1px solid #000000; " onfocus="if(this.value=='navn')this.value='';" value="navn"><style="font-family: Verdana; font-size: 10 px"><font size="1"> *</font></tr> <tr class="text"> <td width="50%" height="8" style="border-right-style: none; border-right-width: medium"> <style="font-family: Verdana; font-size: 10 px"> <font size="1"> <select size="1" name="klubblad" style="font-family: Verdana; font-size: 10 px"> <option selected>Ønsker</option> <option>tilmelde</option> <option>afmelde</option> </select></font><style="font-family: Verdana; font-size: 10 px"><font size="1"> </font><style="font-family: Verdana; font-size: 10 px"><font size="1"> * </font></tr> <tr class="tabelfont"> <td width="50%" height="68"> <textarea rows="5" name="besked" id="tabel" cols="47" style="font-family: Tahoma; font-size: 8 pt; border: 1px solid #000000; " tabindex="5">kommentar</textarea></td> </tr> <tr class="tabelfont"> <td width="50%" height="22" style="border-right-style: none; border-right-width: medium"> <input type="submit" value="Send" name="send" style="font-family: Tahoma; font-size: 8 pt; font-weight: bold; background-color: #FFFFFF; border: 1px solid #000000; "> <input type="reset" value="Nulstil" name="reset" style="font-family: Tahoma; font-size: 8 pt; font-weight: bold; background-color: #FFFFFF; border: 1px solid #000000; "> </tr> </table> </td> </tr> </table> </div> </td> </tr> </table> </div> </body> </html>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
14. april 2005 - 13:52
#1
jeg er ikke stærk i javascript, men vil mene det skal laves sådan her i stedet...!? function validering() { if((document.forms[0].email.value=='email') && (error==0)) { alert('email skal udfyldes'); document.forms[0].email.focus(); return false; } return true; } <form method="post" action="mailingliste.php" onsubmit="validering();">
14. april 2005 - 14:08
#2
så kommer der ingen validering..... Den henter bare php filen og viser "tak for din henvendelse..." siden
14. april 2005 - 14:17
#3
prøv at tjekke det: <script type="text/javascript"> function validering() { error = 0; if((document.forms[0].email.value=='email') && (error==0)) { alert('email skal udfyldes'); document.forms[0].email.focus(); error = 1; } if(error == 0) document.forms[0].submit(); } </script> og dette sammen. <form method="post" action="mailingliste.php" onsubmit="validering();return false;"> Du har ingen retur værdier i din valideringsmetode, hvilket vil sige den aldrig vil submitte din form, fordi du efterfølgende returnere false. articfruit er inde på noget af det rigtige, med at returnere true hvis det går godt og false hvis det ikke gør. Tror du ikke bare der er rod i din validering, og det du har skrevet faktisk gik godt, og den derfor røg videre i systemet?
14. april 2005 - 14:20
#4
prøv denne funktion i stedet <script type="text/javascript"> function validering() { error = 0; if((document.forms[0].email.value=='email') && (error==0) || document.forms[0].email.value=='') { alert('email skal udfyldes'); document.forms[0].email.focus(); error = 1; } if(error == 0) document.forms[0].submit(); } </script> du manglede at tjekke om feltet var tomt også.
14. april 2005 - 14:25
#6
14. april 2005 - 14:31
#8
Glem det...
14. april 2005 - 14:42
#10
du har et </script> tag for meget nu plus, (pinligt), jeg glemte at returnere true, eller false... Det her virker, har lige testet det: function validering() { if((document.forms[0].email.value=='email') && (error==0) || document.forms[0].email.value=='') { alert('email skal udfyldes'); document.forms[0].email.focus(); return false; } return true; } Desuden mangleder der en "return" foran funktionskaldet. <form method="post" action="mailingliste.php" onsubmit="return validering();">
14. april 2005 - 14:53
#11
function validering() { if((document.forms[0].email.value=='email') || document.forms[0].email.value=='') { alert('email skal udfyldes'); document.forms[0].email.focus(); return false; } return true; } >>skyggen2000 lavede selv fejlen også, men der skal lige slettes && (error==0) , da det ikke give mening længere... ;o)
14. april 2005 - 14:54
#13
14. april 2005 - 14:56
#14
det virker da fint nu i hvert fald... articfruit >> hehe, det går nogengange lidt stærkt:)
14. april 2005 - 15:04
#15
Desuden bør du undgå reserverede navne som error, object, value, til dine var navne.
14. april 2005 - 15:06
#16
skyggen2000 hvorfor sådan: <form method="post" action="mailingliste.php" onsubmit="return validering();"> og ikke sådan: <form method="post" action="mailingliste.php" onsubmit="validering();"> ? Kender ikke så meget til det, skal bare lige have det forklaret :o)
14. april 2005 - 15:07
#17
Det virker rigtig godt!! Super... takker Har lige et tillægs spg. Hvis jeg nu har to felter der skal valideres på, hvor lægger jeg så den næste valideringskode?? function validering() { if((document.forms[0].email.value=='email') || document.forms[0].email.value=='') { alert('email skal udfyldes'); document.forms[0].email.focus(); return false; } if((document.forms[0].nytfelt.value=='nytfelt') || document.forms[0].nytfelt.value=='') { alert('feltet skal udfyldes'); document.forms[0].nytfelt.focus(); return false; } return true; } eller.....??
14. april 2005 - 15:21
#18
Du får lige point...
14. april 2005 - 15:31
#19
helt rigtigt lavet... :o)
14. april 2005 - 15:32
#20
articfruit >> fra msdn: You can override this event by returning false in the event handler. Use this capability to validate data on the client side to prevent invalid data from being submitted to the server. If the event handler is called by the onsubmit attribute of the form object, the code must explicitly request the return value using the return function, and the event handler must provide an explicit return value for each possible code path in the event handler function. The submit method does not invoke the onsubmit event handler. Sådan er syntaksen, hvis man vil man vil benytte eventen.
14. april 2005 - 15:33
#21
yes, det er sådan det skal gøres:) Husk at lave en ordentlig email validering, vha. det link jeg postede.
14. april 2005 - 15:37
#22
denne linie er rimelig vigtigt, da man kan se man skal klikke på submit knappen for at onsubmit eventen køres. The submit method does not invoke the onsubmit event handler. Det er ikke nok, blot at submitte ved at kalde funkionen i javascript.
14. april 2005 - 15:39
#23
:o) så blev jeg også lidt klogere i dag...
14. april 2005 - 15:39
#24
det virker ikke med validering på to felter.... gggrrr :-(
14. april 2005 - 15:41
#25
har jeg overset noget?? Kun email validering virker ok... den validere ikk på feltet navn :-(
14. april 2005 - 15:49
#26
navn og fullname er ikke det samme... ;o)
14. april 2005 - 15:50
#27
if((document.forms[0].navn.value=='navn') || document.forms[0].navn.value=='') men du kalder den... <input type="text" name="fullname"
14. april 2005 - 15:52
#28
:) Det stod faktisk i fejlmeddelesen, men der er ingen der har sagt det er nemt at programmere:) du skal skrive: if((document.forms[0].fullname.value=='navn') || document.forms[0].fullname.value=='') som articfruit skriver.
14. april 2005 - 16:02
#29
GODT VI HAR EKSPERTER! Tak! Du har ret... somme tider går det lidt for stærkt :-) er lidt "hys" over det - tager lige en pause :-)) Ups... point smuttede lige - skriv lige svar igen... - Charlotte
14. april 2005 - 16:05
#30
Hvad er det du mener med pointene? Jeg kan ikke svare igen...:) Og det er hvad der kan ske når man koder, det går galt for alle, og hvis ikke det gør så er det fordi man har lavet fejlen så mange gange, at den sidder fast efterhånden:)
14. april 2005 - 16:08
#31
Hvis jeg har en dropdown med default "Ønsker" (Tilmelde eller Afmelde) hvordan skal det så se ud??
14. april 2005 - 16:09
#32
du fik da ikk point..?
14. april 2005 - 16:10
#33
Der står faktisk: Accepteret svar: skyggen2000 14/04-2005 15:33:49 Point: 200,00 To much cofee:) Hvad mener du, som validering eller kode til oprettelsen.
14. april 2005 - 16:19
#34
Koden for valideringen af en dropdown... som validering af tekst ...nu vil jeg bare være færdig! :-)
14. april 2005 - 16:20
#35
Har skrevet if((document.forms[0].klubblad.value=='')) { alert('Ønsker du at "Tilmelde" eller "Afmelde" klubblad?'); document.forms[0].klubblad.focus(); return false; } men den kommer bare hele tiden kun med alert'en
14. april 2005 - 16:20
#36
troede du missede point...
14. april 2005 - 16:26
#37
den er gal med din select, du skal huske at tilføje værdier til de enkelte options. <select size="1" name="klubblad" style="font-family: Verdana; font-size: 10 px"> <option selected value="">Ønsker</option> <option value="tilmeld">tilmelde</option> <option value="afmeld">afmelde</option> </select> det funkede hos mig
14. april 2005 - 16:30
#38
DET GØR DEN OSS HER...JUUBiiii Tak for en hyggelig eftermiddag - og din tålmodighed :-)
14. april 2005 - 16:31
#39
Selv tak og det var da så lidt:)
Vi tilbyder markedets bedste kurser inden for webudvikling