Java Script - Mail Check

Tags:    html css

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
--



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
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
--



Hvorfor bruger du ikke ASP til at tjekke med? Man kan nemt ombryde JavaScript eftersom det er client-side.

--
Ronni Egeriis - squirrel development: http://sqdev.dk/



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]



Hvorfor bruger du ikke ASP til at tjekke med? Man kan nemt ombryde JavaScript eftersom det er client-side.

Det ville jeg også meget gerne men, jeg er nybegynder hvad ASP angår... så hvor finder jeg en toturial der kan hjælpe mig med mit problem ?

mvh. Rune Thougaard
--



Hvorfor bruger du ikke ASP til at tjekke med? Man kan nemt ombryde JavaScript eftersom det er client-side.

Det ville jeg også meget gerne men, jeg er nybegynder hvad ASP angår... så hvor finder jeg en toturial der kan hjælpe mig med mit problem ?

mvh. Rune Thougaard
--



Hmm, du skal finde en ASP tutorial som kan lære dig om hvordan du bruger regular expressions, og så skal du se om din streng overholder "[a-z0-9_-]+@[a-z0-9_-]+\\.[a-z]{2,3}" - det er vist den mest optimale reg.exp. streng.

Jeg er ikke selv ASP-koder så jeg kan desværre ik hjælpe dig med hvordan du bruger dette regular expressions i ASP.

--
Ronni Egeriis - squirrel development: http://sqdev.dk/




Det ville jeg også meget gerne men, jeg er nybegynder hvad ASP angår... så hvor finder jeg en toturial der kan hjælpe mig med mit problem ?

mvh. Rune Thougaard
--


Du kan nu JavaScript server-side i din ASP applikation

- karmazilla -



t