Avatar billede michaelb.dk Nybegynder
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" ??
Avatar billede michaelb.dk Nybegynder
15. februar 2004 - 14:37 #1
.....advarslen skal komme når man submitter!
Avatar billede bearhugx Nybegynder
15. februar 2004 - 14:45 #2
laver lige et eksempel :-)
Avatar billede bearhugx Nybegynder
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>
Avatar billede bearhugx Nybegynder
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)
Avatar billede michaelb.dk Nybegynder
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
Avatar billede bearhugx Nybegynder
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;
Avatar billede bearhugx Nybegynder
15. februar 2004 - 15:20 #7
kune du bruge det ??
Avatar billede michaelb.dk Nybegynder
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>
Avatar billede bearhugx Nybegynder
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...
Avatar billede michaelb.dk Nybegynder
15. februar 2004 - 15:34 #10
nå for faen, jeg syntes ikke det virkede sidst jeg prøvede ;-)
Avatar billede michaelb.dk Nybegynder
15. februar 2004 - 15:39 #11
tak for hjælpen
Avatar billede bearhugx Nybegynder
15. februar 2004 - 16:58 #12
hvis du fik svar på det du ønskede, så husk og luk spørgsmålet :-)
Avatar billede michaelb.dk Nybegynder
15. februar 2004 - 17:05 #13
forgot... :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester