webForumDet fria alternativet

Valideringsproblem!

2 svar · 287 visningar · startad av BlueVision

BlueVisionMedlem sedan mars 200361 inlägg
#1

Tjena!

Skall försöka få det här scriptet att validera min gästbok, men det funkar inte som jag vill!

formtaggen:
<form id="gform" method="post" action="" onSubmit="return gbook_validation(gform)">

skickataggen:
<input type="image" src="art/skicka.gif" value="submit" />

scriptet:

function gbook_validation(form)
{
var fromFormName = document.getElementById(form)name.value;
var fromFormComment = document.getElementById(form).comment.value;
var fromFormMail = document.getElementById(form).mail.value;

var inmatningName =
 /^\[A-Za-zÅÄÖåäö0-9\\-\_\]/;
  
var inmatningComment =
 /^\[A-Za-zÅÄÖåäö0-9\\-\_.!:,&\]/;
 
 var inmatningEmail =
 /^\[A-Za-z0-9\\-\_\]+\[\\.A-Za-z0-9\\-\_\]\*\\@\[A-Za-z0-9\\-\_\]+\[\\.A-Za-z0-9\\-\_\]\*\\.\[A-Za-z\]{2,5}$/;

//kollar om namnet är rätt ifyllt
var kontrollName = fromFormName.match(inmatningName);

//kollar om kommentaren är rätt ifyllt
var kontrollComment = fromFormComment.match(inmatningComment);

//kollar om adressen är rätt ifylld
var kontrollEmail = fromFormMail.match(inmatningEmail);


//utför validering av namnet
if(!kontrollName)
{
	alert("Rätta till namnet");
	return false;
}

//utför validering av namnet
if(!kontrollComment)
{
	alert("Rätta till Kommentaren");
	return false;
}

if(form.mail.value.length\>0)
		{
			//utför validering av mailen
			if(!kontrollEmail)
			{
			alert("Mailadressen är inte rätt ifylld");
			return false;
			}
		}


else{
	return true;
}

}

Hoppas någon ser var felet ligger!

//bluevision

dectgapMedlem sedan sep. 20021 542 inlägg
#2

Ändra

<form id="gform" method="post" action="" onSubmit="return gbook_validation(gform)">

till

<form id="gform" method="post" action="" onSubmit="return gbook_validation(this)">

Dina två regexpar

 var inmatningName =
/^[A-Za-zÅÄÖåäö0-9\-_]/;

var inmatningComment =
/^[A-Za-zÅÄÖåäö0-9\-_.!:,&]/;

kontrollerar bara första tecknet. Vill du kontrollera att bara de tecken du anger är tillåtna kan du skriva:

 var inmatningName = /^[A-Za-zÅÄÖåäö0-9\-_]+$/;

var inmatningComment = /^[A-Za-zÅÄÖåäö0-9\-_.!:,&]+$/;

Gör de ändringarna, och kom tillbaka om det fortfarande fungerar. Försök ge lite bättre felmeddelande än "men det funkar inte som jag vill!".

Och använd [kod]-taggar när du skriver kod i dina inlägg, så blir det mycket lättare att läsa.

BlueVisionMedlem sedan mars 200361 inlägg
#3

Jag lyckades lokalisera de felen för en stund sedan!

Tack för hjälpen iaf! Det var precis de sakerna som du påpekade som skapade problemen plus att jag var tvungen att göra såhär för att få ut texten från fälten:

var fromFormName = document.getElementById("name").value;

De regexparna du skickade funkade mycket bättre än mina!

Tack igen!

//bluevison

259 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
127 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)
128 ms — hämta forumlista (db)