16. juli 2004 - 09:12
Der er
30 kommentarer og 1 løsning
Validering og regler for textfelt
Jeg har et textfelt i en formular jeg har sat validering på... så den ikke kan være tom... men jeg vil gerne sætte yderligere regler på... : - Må ikke starte med et mellemrum. - Må ikke indeholde specialtegn (<>"_'%) Nogen der har en løsning på dette ?? Det validering jeg har nu har jeg fra html.dk... <script type="text/javascript"> function validering() { error = 0; if((document.forms[0].navn.value=='') && (error==0)) { alert('Du skal skrive et navn til tråden!'); document.forms[0].navn.focus(); error = 1; } if((document.forms[0].besked.value=='') && (error==0)) { alert('Du skal udfylde tekstfeltet!'); document.forms[0].besked.focus(); error = 1; } if(error == 0) document.forms[0].submit(); } </script> NB! Kun navn... ikke besked ;)
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?
Nope, javascript gider jeg ikke :) (læs: kan ikke)
Altså som sagt er jeg ikke den store javascript mand, men måske det her vil virke: if(document.forms[0].navn.value.match("("/\%|\"|\<|\>|\'/")) { alert('Ok'); } Du kan jo bare bytte alert() ud hvis det virker, men du kan jo afprøve det...
Nej... den har ingen effekt... jeg prøvede med "test" og hej/hej
if ( !document.form.navn.value.match(/^[^\<]?[\w\>]{2,4}$/i) ) { alert( 'Du skal srive en navn!!' ); return false; }
Nopes... stadig ingenting... de bliver godkendt.
<html> <head> <link rel="STYLESHEET" type="text/css" href="style.css"> </head> <body> <script type="text/javascript"> function validering() { error = 0; if ( !document.form.navn.value.match(/^[^\<]?[\w\>]{2,4}$/i) ) { alert( 'Du skal srive en navn!!' ); return false; } if((document.forms[0].besked.value=='') && (error==0)) { alert('Du skal udfylde tekstfeltet!'); document.forms[0].besked.focus(); error = 1; } if(error == 0) document.forms[0].submit(); } </script> <center> <table class="tbl_main" height="100%" width="50%"> <tr> <td valign="top"> <center> Forum ting - Opret Ny tråd <br/> <code>Level 2</code> </center> <br/> <code>Opret ny tråd</code> <% Request.ServerVariables("REMOTE_HOST") %> <br/><br/> <form action="strnewtraad.asp" method="post" onsubmit="validering();return false;"> Overskrift : <input type="text" name="navn"><br/> Tekst : <textarea name="besked"></textarea><br/> <input type="submit"> <input type="hidden" name="gruppenr" value="<% = request.querystring ("gruppenr")%>"> <input type="hidden" name="bruger" value="K. Bang"> <input type="hidden" name="ip" value="0.0.0.0"> <br/> <font color="#c0c0c0"> <br/> </td> </tr> </table> </center> </body> </html>
<html> <head> <link rel="STYLESHEET" type="text/css" href="style.css"> </head> <body> <script type="text/javascript"> function validering() { error = 0; if ( !document.form.navn.value.match(/^[^\<]?[\w\>]{2,4}$/i) && (error==0)) { alert( 'Du skal srive en navn!!' ); return false; } if((document.form.besked.value=='') && (error==0)) { alert('Du skal udfylde tekstfeltet!'); document.form.besked.focus(); error = 1; } if(error == 0) document.form.submit(); } </script> <center> <table class="tbl_main" height="100%" width="50%"> <tr> <td valign="top"> <center> Forum ting - Opret Ny tråd <br/> <code>Level 2</code> </center> <br/> <code>Opret ny tråd</code> <% Request.ServerVariables("REMOTE_HOST") %> <br/><br/> <form name="form" action="strnewtraad.asp" method="post" onsubmit="validering();return false;"> Overskrift : <input type="text" name="navn"><br/> Tekst : <textarea name="besked"></textarea><br/> <input type="submit" value="send"> <input type="hidden" name="gruppenr" value="<% = request.querystring ("gruppenr")%>"> <input type="hidden" name="bruger" value="K. Bang"> <input type="hidden" name="ip" value="0.0.0.0"> <br/> <font color="#c0c0c0"> <br/> </td> </tr> </table> </center> </body> </html>
Nu har jeg også prøvet igen, og fået succes med det her: <script type="text/javascript"> function validering(f) { error = 0; if(f.navn.value.match("%|<|>|_|\"|\'")) { alert('Fejl i navn !'); return false; } return true; } </script> <form action="index.htm" onSubmit="return validering(this)"> <input type="text" name="navn"> <input type="submit" value="ha"> </form> Men at lave det om til præcis din kode må du selv, det virker i hvert fald sådan :)
16. juli 2004 - 09:57
#10
her få jeg af vide at jeg skal have et af de tegn for at kan submit det kunne da være modsat ???
16. juli 2004 - 10:01
#11
Var det henvendt til mig? For forstod det ikke... Ovenstående vil alerte hvis det indeholder et af de tegn...
16. juli 2004 - 10:03
#12
expnet -> Det virker med tegnene... men ikke med mellemrummet ...
16. juli 2004 - 10:04
#13
jaw -> jeg få ikke alert frem hvis jeg skriver et af de tegn "<>_/" men hvis jeg bare skriver min mit så kommer den
16. juli 2004 - 10:05
#14
hmmm, det gør jeg nu ikke, men lad den bare ligge...
16. juli 2004 - 10:22
#15
Kan du klare mellemrummet ? ;) Det er fordi indholdet af tekstfeltet smides i et database og skal kaldes frem bagefter ,emn hvis det starter med mellemrum kan jeg ikke bruge den som variable... den bliver blank. Ikke monster optimalt hvis I spø'r mig...
16. juli 2004 - 12:04
#16
No one ? eller kan man ikke det ?
16. juli 2004 - 12:09
#17
jeg er ikke den beste til javascript så håber der er andre men kigger på det
16. juli 2004 - 12:13
#18
Hvad mener du med at det ikke er en variabel hvis den starter med <mellemrum> ?
16. juli 2004 - 12:14
#19
Jeg mener... at det første tegn i textfeltet ikke må være et mellemrum... man må ikke starte med at skrive ex. Trådenavn ^---[mellemrum]--- men gerne Trådnavn...
16. juli 2004 - 12:15
#20
Okay... det blev så ikke lige vist... hehe... men håber du er med på hvad jeg mener...
16. juli 2004 - 12:20
#21
Nej, jeg forstår dig ikke... Jeg ved ikke hvad du mener med at du ikke kan bruge den som variabel efter den har været i databasen. Hvordan henter du det ud af databasen?
16. juli 2004 - 12:48
#22
Nevermind... jeg tror det var min fejl :) Men det andet virker fint... expnet, jeg brugte din, så du får pts... om du smider et svar givetvis :)
16. juli 2004 - 12:53
#23
match(/^[a-z]+[\w]+$/i) :o)
16. juli 2004 - 13:33
#24
Ehh... expnet -> Navn-feltet kan kun være 5 tegn ?? Kan du ikke ændre det ?? *G*
16. juli 2004 - 13:34
#25
Og alle mellemrum er bandlyst ? Jeg var lidt hurtig til at godkende ... *S*
16. juli 2004 - 14:11
#26
Okay, fortæl folket hvad du ønsker ? Ingen tal,ingen specialtegn,ingen mellemrum? /^[a-z]+$/i
16. juli 2004 - 14:35
#27
<html> <head> <link rel="STYLESHEET" type="text/css" href="style.css"> </head> <body> <script type="text/javascript"> function validering(f){ if (!/^[a-záàãââæåçéèêëìíîïñòóôõöøùúûüýÿ]+$/i.test(f.navn.value){ alert( 'Du skal skrive et navn til tråden!' ); return false; } if(!/^[a-záàãââæåçéèêëìíîïñòóôõöøùúûüýÿ]+/i.test(f.besked.value)){ alert('Du skal udfylde tekstfeltet!'); f.besked.focus(); return false; } return true; } </script> <center> <table class="tbl_main" height="100%" width="50%"> <tr> <td valign="top"> <center> Forum ting - Opret Ny tråd <br/> <code>Level 2</code> </center> <br/> <code>Opret ny tråd</code> <% Request.ServerVariables("REMOTE_HOST") %> <br/><br/> <form action="strnewtraad.asp" method="post" onsubmit="return validering();"> Overskrift : <input type="text" name="navn"><br/> Tekst : <textarea name="besked"></textarea><br/> <input type="submit"> <input type="hidden" name="gruppenr" value="<% = request.querystring ("gruppenr")%>"> <input type="hidden" name="bruger" value="K. Bang"> <input type="hidden" name="ip" value="0.0.0.0"> <br/> <font color="#c0c0c0"> <br/> </td> </tr> </table> </center> </body> </html>
16. juli 2004 - 14:36
#28
Hov, der mangler en parantes: if (!/^[a-záàãââæåçéèêëìíîïñòóôõöøùúûüýÿ]+$/i.test(f.navn.value)){
12. august 2006 - 10:08
#29
roen - smider du et svar? :)
15. august 2006 - 13:40
#30
Vi kan vel dele ?-) Velbekomme '-)
05. oktober 2006 - 04:05
#31
Tak for point ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling