Har ett problem med ett javascript som skall validera så att en användare skriver in korrekt format på namnet. Koden ser ut så här Hej Eric! identifierade problemet...problem med forms -> javascript
<code>
function validate(){
if (document.reg.fname.value.search(/^[^0-9 ]{2,} ?.{2,}$/) == -1) {
ChColor(document.reg.fname); alert('Du måste skriva ditt riktiga förnamn!');
}
else {
document.reg.submit();
}
}
</code>
ChColor är en annan fuktion som ändrar färg på det aktuella fältet...
Problemet som uppstår är att scriptet upptäcker endast om det saknas data i fältet. Det spärrar inte de felaktiga värdena.
Formen ser ut så här
<code>
<form name="reg" method="post" ENCTYPE="application/x-www-form-urlencoded" onSubmit="false;">
<input name="fname" type="text" id="fname" size="25" maxlength="25">
<input type="button" onClick="javascript:validate();" value="Gå vidare »">
</form>
</code>
Tacksam för svar!
// ericSv: problem med forms -> javascript
Jag är inte helt säker på vad du menar med att scriptet inte "spärrar" de felaktiga värdena. Hur som helst så är det ett hett tips att skriva om koden såhär:
<code>
function validate(){
if (document.reg.fname.value.search(/^[^0-9 ]{2,} ?.{2,}$/) == -1) {
ChColor(document.reg.fname); alert('Du måste skriva ditt riktiga förnamn!');
return false;
}
else {
return true;
}
}
<form name="reg" method="post" ENCTYPE="application/x-www-form-urlencoded" onSubmit="return validate()">
<input name="fname" type="text" id="fname" size="25" maxlength="25">
<input type="submit" value="Gå vidare »">
</form>
</code>Sv: problem med forms -> javascript
strängen skall se ut så här
<code>
if (document.reg.fname.value.search(/^[^0-9 ]{2,}$/) == -1)
</code>
Den som jag skrivit tidagare refererade till ifall man skall skriva både för och efternamn i samma fält!
Tack johan för hjälpen!
// eric