Validering af felt
Jeg er ved at lave et javascript, der kan kontrollere et felt for uønskede ord. Men jeg kan ikke rigtig få det til at virke. Har du nogle ideer til hvorfor det ikke virker?Nedenfor et koden for siden angivet. Når brugeren trykker på submit, skal javascriptet kontrollerer om der er uønskede ord i feltet vittighed. Hvis der ikke er uønskede ord, skal formen submittes. Hvis der er uønskede ord, skal bruges se en alert box og formen skal ikke submittes.
<html>
<head>
<title>Sjov-vittig.dk</title>
<script language=javascript>
<!-- start skjule
function valider_vittighed(felt)
{
// Hvis et ord står på listen i funktionen \'valider_ord\', så
// returneres ordet, gemt i variablen resultat.
// Hvis et ord ikke står på listen, så returneres resultat som
// en tom streng
var resultat = \"\" ;
var liste = felt.split(\" \");
for(i=0; i<liste.length; i++)
{
resultat = valider_ord(liste[i]) ;
if (resultat != \"\")
{
return resultat ;
}
}
return resultat ;
}
function valider_ord(streng)
{
// Her er listen med uønskede ord. De uønskede ord er erstattet med
// harmløse ord. Læseren kan selv sætte ord ind, der ikke
// skal gemmes i databasen.
if (streng == \"ordet\") return streng ;
if (streng == \"ordet,\") return streng ;
if (streng == \"ordet.\") return streng ;
if (streng == \"ordto\") return streng ;
if (streng == \"ordto,\") return streng ;
if (streng == \"ordto.\") return streng ;
if (streng == \"ordtre\") return streng ;
if (streng == \"ordtre,\") return streng ;
if (streng == \"ordtre.\") return streng ;
return \"\" ;
}
function behandel_vittighed(form)
{
// Formålet med javascriptet er at gennemse en tekst, feltet vittighed, for
// uønskede ord.
var res = valider_vittighed(form.vittighed.value) ;
if (res = \"\")
{
// Hvis feltet \'indsender\' er blank, skrives \'Anonym\' i feltet.
if (form.indsender.value = \"\")
{
form.indsender.value = \"Anonym\" ;
}
// Hvis feltet \'overskrift\' er blank, skrives \'Nummer xx\' i feltet.
if (form.overskrift.value = \"\")
{
form.overskrift.value = \"Nummer xx\" ;
}
// Vis at vittigheden er sendt til databasen.
alert(\"Vittigheden er sendt til databasen. Den kan ses om højest tre minutter.\") ;
// Send vittighed til databasen.
return true ;
}
else
{
// Vis at vittigheden ikke kunnne optages i databasen.
// Det uønskede ord ligger i res.
alert(\"Vittigheden kunne ikke optages i databasen. Den indeholder det
uønskede ord \" + res + \".\") ;
// Undlad at sende vittighedn til databasen
return false ;
}
}
// slut skjule -->
</script>
</head>
<body>
<hr />
<div align=\"center\">
<img src=\"images/logo001.gif\" alt=\"Sjov og vittig logo\" width=\"451\" height=\"80\" />
</div>
<hr />
<table>
<tr>
<th width=\"20\">
</th>
<th>
<div align=\"left\">
<form onsubmit=\"return behandel_vittighed(this);\" method=\"post\" action=\"mailto:zebu@mail.dk\">
<font size=\"4\">
<br />
Skriv overskrift her: <br /><input type=\"text\" size =\"50\" name=\"overskrift\"><br />
Hvis du ikke skriver noget, placeres teksten \"Nummer xx\" i feltet.<br /><br />
Skriv indsender her: <br /><input type=\"text\" size =\"50\" name=\"indsender\"><br />
Hvis du ikke skriver noget, placeres teksten \"Anonym\" i feltet.<br /><br />
Skriv vittighed her: <br /><textarea name=\"vittighed\" cols=\"50\" rows=\"10\"></textarea><br /><br />
<input type=\"submit\" value=\"Send.\"/>
<br />
<br />
<input type=\"reset\" value=\"Slet alle felter.\"/>
</font>
</form>
</th>
</body>
</html>
