15. februar 2004 - 14:37
Der er
12 kommentarer og 1 løsning
Alert, hvis et særligt ord er skrevet
Kan man ikke lave an alert hvis der bliver skrevet et bestemt ord i en formular. F.eks. hvis der (i en <input>) bliver skrevet "fuck", så kommer der en alert med "dette ord må ikke bruges" ??
Annonceindlæg fra Barco
15. februar 2004 - 14:37
#1
.....advarslen skal komme når man submitter!
15. februar 2004 - 14:45
#2
laver lige et eksempel :-)
15. februar 2004 - 14:50
#3
<html> <script type="text/javascript"> var bad_list = new Array("fuck", "pis", "lort"); function testForBadWords() { txt = document.getElementById("txt").value; for(i=0; i<bad_list.length; ++i) { if(txt.toLowerCase().indexOf(bad_list[i].toLowerCase())> -1) { alert(" Du må ikke bruge ordet [ "+bad_list[i]+" ]. Fjern dette og send igen..."); return false } } return true; } </script> <body> <form onsubmit="return testForBadWords();"> <textarea id="txt"> </textarea><br/> <input type="submit"/> </form> </body> </html>
15. februar 2004 - 14:52
#4
Denne funktion vil teste for alle ord i array'et bad_list -- I dette tilfælde må der ikke skrives fuck, pis og Lort... Bemærk at koden automatisk er sikret for store/små bogstaver, idet at det hele bliver betragtet i lowercase (små bogstaver)
15. februar 2004 - 15:02
#5
hvad hvis jeg ønsker at gøre det i f.eks. en upload: <input name="upfile" type="file">, så man ikke kan submitte, hvis der i fil-feltet er skrevet "fuck" etc
15. februar 2004 - 15:08
#6
hvis du giver feltet id="fil" dvs. <input type="file" id="fil"> så kan du hente stien ind via txt = document.getElementById("fil").value; på samme måde som jeg henter værdien af tekstfeltet (dvs. den indtastede tekst) ved txt = document.getElementById("txt").value;
15. februar 2004 - 15:20
#7
kune du bruge det ??
15. februar 2004 - 15:28
#8
Hvsi jeg gør således, er jeg så galt på den: --------- <html> <script type="text/javascript"> var bad_list = new Array("fuck", "FUCK"); function testForBadWords() { upfile = document.getElementById("upfile").value; for(i=0; i<bad_list.length; ++i) { if(upfile.toLowerCase().indexOf(bad_list[i].toLowerCase())> -1) { alert("Har din mor ikke lært dig du ikke må sige [ "+bad_list[i]+" ]"); return false } } return true; } </script> <body> <form onsubmit="return testForBadWords();"> <input name="upfile" type="file" id="upfile"> <input type="submit"/> </form> </body> </html>
15. februar 2004 - 15:32
#9
Nej... Det virker jo :-) Så du er ikke helt gal på den :-) ... Men du behøver ikke både at have fuck og FUCK -- for toLowerCase gør det du tester på og det du tester imod med små bogstaver alligevel, så hvis du i array'et både skriver "fuck" og "FUCK", så kommer du i realiteten bare til at teste efter "fuck" 2 gange...
15. februar 2004 - 15:34
#10
nå for faen, jeg syntes ikke det virkede sidst jeg prøvede ;-)
15. februar 2004 - 15:39
#11
tak for hjælpen
15. februar 2004 - 16:58
#12
hvis du fik svar på det du ønskede, så husk og luk spørgsmålet :-)
15. februar 2004 - 17:05
#13
forgot... :O)
Vi tilbyder markedets bedste kurser inden for webudvikling