Hej
http://www.rtk-design.dk/rod/asp/malingliste/form.asp
På denne side kan jeg ikke få min JS mail check til at virke...
i min head har jeg skrevet følgende:
<SCRIPT LANGUAGE="JavaScript">
<!--
function MailCheck ()
{
if (document.Registrer.fra.value == "")
{
alert("Skriv venligst din e-mail adresse");
document.Registrer.fra.focus();
return false;
}
if (document.Registrer.fra.value.indexOf("@") == -1)
{
alert("Du glemte @");
document.Registrer.fra.focus();
return false;
}
if (document.Registrer.fra.value.indexOf(".") == -1)
{
alert("Du glemte et .");
document.Registrer.fra.focus();
return false;
}
}
// -->
</SCRIPT>
og i min body - <form> står der:
onSubmit="return MailCheck(Registrer.fra.value);"
og nå der så klikkes send kommer denne fejl frem:
http://www.rtk-design.dk/
men jeg tror godt selv jeg ved hvor fejlen ligger, jeg ved bare ikke helt hvordan den skal rettes?
Det er fordi der de 2 "radio" knapper som på en eller anden måde forstyre JS'et ?
Jeg vil meget gerne have hele koden rettet i det næste indlæg, da jeg ikke selv kan finde ud af at redigere i JS...
mvh. Rune Thougaard
--
Problemet har ikke noget med dine radio knappe at gøre.
Problemet er at denne (Registrer.fra.value) parameter er en null værdi, den er ganske simpelt tom
og derfor fejler dit script.
Din kode vil virke med dette script, som er en smule anderledes end det du har lavet og det tjekker
også på et par ting mere, f.eks om der er mere end et @ tegn, om der er et punktum efter @ tegnet og mindst to bogstaver efter punktumet.
Hvis du vil bruge scriptet kan du bare kopiere kode inklusiv html'en da jeg har brugt din egen kode og rettet lidt i Js'en
<html>
<head>
<title>V i n p e r l e n . d k</title>
<link href="style.css" type="text/css" rel="stylesheet" />
<SCRIPT LANGUAGE="JavaScript">
<!--
function MailCheck(email)
{
ugyldigeTegn = " /:,;"
// Må ikke være tom
if (email == "")
{
return false
}
// Indeholder den ugyldige tegn?
for (i=0; i<ugyldigeTegn.length; i++)
{
fejlTegn = ugyldigeTegn.charAt(i)
if (email.indexOf(fejlTegn,0) > -1)
{
return false
}
}
// Der skal være et @-tegn
paaPos = email.indexOf("@",1)
if (paaPos == -1)
{
return false
}
// Og kun et @-tegn
if (email.indexOf("@",paaPos+1) != -1)
{
return false
}
punktumPos = email.indexOf(".",paaPos)
// og mindst et punktum efter @-tegnet
if (punktumPos == -1)
{
return false
}
// der skal være mindst 2 tegn efter punktummet
if (punktumPos+3 > email.length)
{
return false
}
return true
}
function afsendelse(form)
{
// Kontroller om e-mail-adressen er gyldig
if (!MailCheck(form.email.value))
{
alert("Ugyldig e-mail-adresse")
form.email.focus()
form.email.select()
return false
}
}
// -->
</SCRIPT>
</head>
<body>
<form method="post" action="send.asp" onsubmit="return MailCheck(this)">
<table>
<tr>
<td>E-mail </td>
<td><input type=text name="email" size="19"></td>
</tr>
<tr>
<td></td>
<td><input type="radio" name="page" value="tilmeld" checked>Tilmeld</td>
</tr>
<tr>
<td></td>
<td><input type="radio" name="page" value="frameld">Frameld</td>
</tr>
<tr>
<td></td>
<td><input type="submit" style="width:140px;" value="Send"></td>
</tr>
</table>
</form>
</body>
</html>
MVH
Claus Pryds
Cws-web
[Redigeret d. 01/11-03 16:21:48 af Claus Pryds]