Hejsan!
När mitt "form" submittas så skulle jag vilja göra en koll så att det verkligen finns en Giltig epost adress i input fältet "epost" som det ser ut nu så kollar scriptet bara att det finns något inskrivet i inputfälten.
Jag har även sökt i forumet efter ett liknande men den fick jag inte att funka med denna kod.
Så skulle någon kunna fixa in en sådan koll i detta som jag använder nu:
<form name="mail" method="post" action="/admin/kontakta_smartmail.asp" onsubmit="if(this.namn.value&&this.epost.value&&this.arende.value&&this.Meddelande.value){return true}else{alert('Var vänlig och fyll i alla fält...');return false}">
ejickMedlem sedan mars 20011 175 inlägg Det går ju att göra enlikt likande:
<script language="JavaScript">
function send()
{
at1 = address.indexOf("@");
at2 = address.lastIndexOf("@");
dot = address.lastIndexOf(".");
if(at1 < 1 || at != at2 || dot < at1)
{
return confirm("Adressen" + address + " är inte rätt angiven email. Vill du skicka det i alla fall?");
return.true;
}
}
</script>
...
<form onSubmit="return send();">
<input type="text" name="address">
eller:
<script type="text/javascript">
<!--
function checkMail(form)
{
var regExp = /^[^@ ]+@[^@ ]+\.[a-zA-Z]+$/;
if(form.mailField.search(regExp) == -1)
{
alert("E-Mail ej korrekt");
return false;
}
return true;
}
//-->
</script>
<form onSubmit="return checkMail(this);">
Peter SMedlem sedan dec. 20025 484 inlägg Eller skapa en funktion som validerar alla fält:
<head>
<script type="text/javascript">
<!--
function checkForm(o){
for(var i=0; i<o.elements.length; i++){
if(o.elements[i].value == ""){
alert("Fältet \"" + o.elements[i].name + "\" måste fyllas i");
return false;
} else {
if(o.elements[i].name == "epost"){
if(! /^(([\w])+([\.]){1})*([\w])+@([\w])+(([\.]{1})([A-Za-z]){2,4})+$/.test(o.elements[i].value)){
alert("E-postadressen är felaktig");
return false;
}
}
}
}
};
//-->
</script>
</head>
<form name="mail" method="post" action="/admin/kontakta_smartmail.asp" onsubmit="return checkForm(this)">
<input type="text" name="namn">
<input type="text" name="epost">
<input type="text" name="arende">
<input type="text" name="Meddelande">
<input type="submit">
</form>
:)
Fast nackdeln med att alerta själva fältets namn är att det inte blir så bra svenska..
"Fältet arende måste fyllas i"
Peter SMedlem sedan dec. 20025 484 inlägg Vilken tur att designern har möjlighet att justera det då ;)
:)
Tackar för er hjälp, det funkar bra nu..
Om man nu inte stöder Netscape 4 kan man lägga till egna attribut:
<input type="text" name="namn" errMessage="Namn">
<input type="text" name="epost" errMessage="E-Post">
<input type="text" name="arende" errMessage="Ärende">
<input type="text" name="Meddelande" errMessage="Meddelande">
och sen modifiera raden med felmeddelande till:
alert("Fältet \"" + o.elements[i].getAttribute("errMessage") + "\" måste fyllas i");
:)
Peter SMedlem sedan dec. 20025 484 inlägg
Om man nu inte stöder Netscape 4 kan man lägga till egna attribut:
Med andra ord; om man varken stöder Netscape 4 eller webbstandarder.
:)