webForumDet fria alternativet

Validera fält....

19 svar · 728 visningar · startad av Method

MethodMedlem sedan apr. 2001357 inlägg
#1

Jag hittade denna kod när jag sökte på forumet.

<script language="JavaScript">
function validateform() {
if (document.register.ForNamn.value==""
&#0124; &#0124; document.register.EfterNamn.value==""
&#0124; &#0124; document.register.GatuAdress.value==""
&#0124; &#0124; document.register.AnvNamn.value==""
&#0124; &#0124; document.register.Postnummer.value==""
&#0124; &#0124; document.register.Ort.value==""
&#0124; &#0124; document.register.TelHem.value==""
&#0124; &#0124; document.register.Epost.value==""
&#0124; &#0124; document.register.password1.value=="")

{
alert("Alla fält måste fyllas i för att kunna bli registrerad.")
return false;
}
else if (document.register.Epost.value.indexOf("@") == -1)
{
alert("Du måste fylla i korrekt en E-mail adress.") 
return false;
}
else if (document.register.password1.value != document.register.password2.value)
{
alert("Lösenorden stämmer inte överens, var god försök igen.")
return false;
}
else 
{
return false;
} 
}
function validate(field) {
var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Ogiltligt tecken! endast a-z, A-Z och 0-9 får förekomma i fältet.");
field.focus();
field.select();
}
}

</script>

Jag använder mig av detta formuläret på min sida

<form action="ansokan_ok.asp" method="post">
									<table border="0" cellpadding="4" cellspacing="0">
										<tr>
											<td colspan="2"><span class="h2">Ans&ouml;kningsformul&auml;r<br>
												</span><br>
												Genom att fylla i detta formul&auml;r och ladda upp filer s&aring; godk&auml;nner jag att dessa uppgifter och <br>
												min IP-adress sparas i en databas och anv&auml;nds av Bengt Dahlgren AB f&ouml;r de &auml;ndam&aring;l <br>
												som ans&ouml;kan avser.<br>
												<br>
												F&auml;lt med <span class="red">*</span> &auml;r obligatoriska uppgifter<br>
												<br>
											</td>
										</tr>
										<tr>
											<td valign="top" class="bold">F&ouml;rnamn:<span class="red">*</span><br>
											</td>
											<td valign="top"><input type="text" name="fornamn" size="25" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top"><span class="bold">Efternamn:</span><span class="red">*</span><br>
											</td>
											<td valign="top"><input type="text" name="efternamn" size="25" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top"><span class="bold">Adress:</span><span class="red">*</span><br>
											</td>
											<td valign="top"><input type="text" name="adress" size="25" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top"><span class="bold">Postnr:</span><span class="red">*</span><br>
											</td>
											<td valign="top"><input type="text" name="postnr" size="8" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top"><span class="bold">Postadress:</span><span class="red">*</span></td>
											<td valign="top"><input type="text" name="postadress" size="25" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top"><span class="bold">Telefon:</span><span class="red">*</span></td>
											<td valign="top"><input type="input" name="telefon" size="25" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top" class="bold">Mobiltelefon:</td>
											<td valign="top"><input type="text" name="mobil" size="25" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top" class="bold">E-post:<br>
											</td>
											<td valign="top"><input type="text" name="epost" size="38" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top"><span class="bold">F&ouml;delsedatum:</span><span class="red"><span class="bold">*</span></span><span class="bold"><br>
												</span></td>
											<td valign="top">F&ouml;delsedatum m&aring;ste h&aring;lla detta format <span class="red">&Aring;&Aring;&Aring;&Aring;-MM-DD</span><br>
												<input type="text" name="fodelse_datum" size="15" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top" class="bold">Utbildning:<span class="red">*</span></td>
											<td valign="top">Fyll i f&auml;ltet till h&ouml;ger vilken inriktning Ni har.<br>
												<select name="utb" size="1">
													<option>-- V&auml;lj utbildning --</option>
													<option>Brandingenj&ouml;r</option>
													<option>Civilingenj&ouml;r</option>
													<option>Gymnasieingenj&ouml;r</option>
													<option>H&ouml;gskoleingenj&ouml;r</option>
													<option>Annan</option>
												</select> <input type="text" name="utbannan" size="25" maxlength="100"></td>
										</tr>
										<tr>
											<td valign="top" class="bold">&Ouml;vriga uppgifter:</td>
											<td valign="top"><textarea name="kommentar" cols="40" rows="6"></textarea></td>
										</tr>
										<tr>
											<td align="right" valign="top" colspan="2">
												<div align="left">
													
													
													P&aring; n&auml;sta sida har Ni m&ouml;jlighet att bifoga CV eller annan i information i fil-format.<br>
													<span class="red">Tips! </span>F&ouml;rhandsgranska innan Ni g&aring;r vidare f&ouml;r att se att informationen inte inneh&aring;ller fel.</div>
												<div align="right">
													<p><input class="send" type="button" name="" value="F&ouml;rhandsgranska" onclick="document.forms[0].action='preview.asp'; window.open('','preview','width=550,height=300,scrollbars=yes'); document.forms[0].target='preview'; document.forms[0].submit();"> <input class="send" type="button" name="" value="G&aring; vidare >>" onclick="document.forms[0].target='_self'; document.forms[0].action='ansokan_ok.asp'; document.forms[0].submit();"></p>
												</div>
											</td>
										</tr>
									</table>
									<br>
									<br>
									<input type="hidden" name="datum" value="<%=now()%>">
									<% ID = Request.Querystring("ID") %>
									<% jobb = Request.Querystring("Jobb") %>
									<% kontor = Request.Querystring("kontor") %>
									<input type="hidden" name="jobbid" value="<%=ID%>">
									<input type="hidden" name="jobb" value="<%=jobb%>">
									<input type="hidden" name="kontor" value="<%=kontor%>">
									<input type="hidden" name="ip" value="<%=ip%>">
								</form>

Jag vill kolla att dessa fälten är ifyllda i min kod:

fornamn
efternamn
adress
postnr
postadress
telefon
fodelse_datum
utb

Sen är det några andra fält jag vill se att de är ifyllda på "rätt" sätt:

|epost| så att fältet inehåller @
|fodelse_datum| så att fältet är rätt formaterat ÅÅÅÅ-MM-DD

Sen har jag några "hidden" fält som måste få sina värden genom Querystring annars måste användaren prova att göra om ansökan:

|jobbid|
|datum|
|jobb|
|kontor|
|ip|

Hur skall jag skriva om koden för att få detta att fungera?

Jag provade koden som jag hittade och får följande fel

A Runtime Error has occured. Do you wish to debug?

Line:39 
Error: Syntax error

på rad 39 finns:
if (document.register.ForNamn.value==""

Tack på förhand.

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Om vi tar en sak i taget så skall vi nog kunna lösa det här. Hjälp till självhjälp så att säga, så du kanske förstår lite av vad du gör istället för att vi skriver hela sidan åt dig :)

Scriptet som du hittat är styrt mot ett formulär som heter register (det ser du i hänvisningen document.register). Det första vi måste gör är alltså att döpa ditt formulär till samma sak (eller ändra i scriptet). Formuläret döper du med name="register" i <form>-taggen. Sedan måste vi se till att funktionen validateform() anropas när vi vill skicka formuläret. Det gör vi genom att i samma <form>-tagg skriva onSubmit="return validateform();"

Tar vi sedan en liten närmare titt på scriptet så ser vi i början av funktionen validateform() att vi kollar en massa fält som inte finns i ditt formulär. För att göra det lite enkelt skriver vi om det så här;

<script language="JavaScript">
function validateform() {
	if (document.register.fornamn.value==""
	&#0124; &#0124; document.register.efternamn.value==""
	&#0124; &#0124; document.register.adress.value=="")
	{
		alert("Alla fält måste fyllas i för att kunna bli registrerad.")
		return false;
	}
	else if (document.register.epost.value.indexOf("@") == -1)
	{
		alert("Du måste fylla i korrekt en E-mail adress.") 
		return false;
	}
	else 
	{
		return true;
	} 
}
</script>

Det vi gör nu är att kolla så fälten fornamn, efternamn och adress inte är tomma samt att fältet epost måste innehålla ett snabel-a. Lägg in detta först så fortsätter vi sedan.

------------------
/ J

MethodMedlem sedan apr. 2001357 inlägg
#3

Hej, Jag har lagt in koden på sidan nu och jag har gjort som du har skrivit (helt underbart med en förklaring så man förstår bättre och kan lära sig ;))

Men får samma felkod som innan sen har jag lite special med mina knappar som man skickar in formuläret med.

<input class="send" type="button" name="" value="Förhandsgranska" onclick="document.forms[0].action='preview.asp'; window.open('','preview','width=550,height=300,scrollbars=yes'); document.forms[0].target='preview'; document.forms[0].submit();"> 

<input class="send" type="button" name="" value="Gå vidare >>" onclick="document.forms[0].target='_self'; document.forms[0].action='ansokan_ok.asp'; document.forms[0].submit();">

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

[Redigerat av Method den 18 sep 2001]

MethodMedlem sedan apr. 2001357 inlägg
#4

fick ordning på felmedelandet det gick inte att ha mellanslag mellan | | utan bara ||

Epost fältet är inte obligatriskt att fylla i, därför behöver man inte få upp rutan |Ni måste fylla i en korrekt E-mail adress.| om det inte är ifyllt alls

I fälten telefon och mobil vill jag gärna ha så att mellan riktnumret och det andra numret sätts in ett - dvs om det inte redan finns om detta nu går? och att det bara tillåts siffror

Fältet postnr skall det också bara gå att skriva siffror.

Tack på förhand

Jonas

red: lagt till text
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

[Redigerat av Method den 18 sep 2001]

[Redigerat av Method den 18 sep 2001]

[Redigerat av Method den 18 sep 2001]

JojoxxMedlem sedan juni 20004 308 inlägg
#5

fick ordning på felmedelandet det gick inte att ha mellanslag mellan | | utan bara ||

Jo... "||" är operatorn (tecknet) för ett logiskt eller.

Epost fältet är inte obligatriskt att fylla i, därför behöver man inte få upp rutan |Ni måste fylla i en korrekt E-mail adress.| om det inte är ifyllt alls

Ok, då plockar vi bort den (inte speciellt svårt, så det borde du klara nu :) ), men se exemplet längre ner.

I fälten telefon och mobil vill jag gärna ha så att mellan riktnumret och det andra numret sätts in ett - dvs om det inte redan finns om detta nu går?...

Det kan vi enkelt fixa direkt i formulärsfältet med;

<input type="input" name="telefon" size="25" maxlength="100" onChange="this.value=this.value.replace(/ /g,'-');">

...och att det bara tillåts siffror

Fältet postnr skall det också bara gå att skriva siffror.

Du slänger vi in en liten funktion som validerar det. Resultatet blir då ungefär så här;

<script language="JavaScript">
function validateform() {
	if (document.register.fornamn.value==""
	&#0124;&#0124; document.register.efternamn.value==""
	&#0124;&#0124; document.register.adress.value=="")
	{
		alert("Alla fält måste fyllas i för att kunna bli registrerad.")
		return false;
	}
	else if (!validateString(document.register.telefon.value,"0123456789-")
	{
		alert("Telefon-nummer får bara vara siffor (0-9) och '-'.") 
		return false;
	}
	else if (!validateString(document.register.postnr.value,"0123456789")
	{
		alert("Postnummer får bara vara siffor (0-9).") 
		return false;
	}
	else 
	{
		return true;
	} 
}
function validateString(str,valid){
	var res=0;
	for(var n=0;n<str.length;n++){ res+=(valid.indexOf(str.substring(n,n+1))<0)?1:0; }
	return (res>0) ? false:true;
}
</script>

Som du ser är e-post valideringen borta samt att vi har fått 2 andra fält som vi kollar. Funktionen validateString() anropas med 2 värden. Det första är strängen som du skall kolla, det andra talar om vilka tecken som är ok. Är strängen som du kollar ok returneras true (det är mest logiskt). Men, eftersom vi vill kolla om värdet inte är ok sätter vi ett utropstecken (logiskt not) framför anropet.

Enkelt va? :)

------------------
/ J

MethodMedlem sedan apr. 2001357 inlägg
#6

på fältet |fodelse_datum| vill jag att scriptet skall känna av att man verkligen har fyllt i

4 siffror - 2 siffror där värdet inte överstiger 12 - 2 siffror som inte överstiger 31

alltså ÅÅÅÅ-MM-DD

är detta jobbigt att lösa???

Men nu funkar allt fin fint ;) ;) tack för detta.

Tack på förhand

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

[Redigerat av Method den 19 sep 2001]

MethodMedlem sedan apr. 2001357 inlägg
#7

Jag måste ha denna knappen för att skicka formuläret annars blir det fel när man klickat på preview knappen då kommer man till den när man skall gå vidare

<input class="send" type="button" name="" value="Gå vidare >>" onclick="document.forms[0].target='_self'; document.forms[0].action='ansokan_ok.asp'; document.forms[0].submit();">

Men som den ser ut nu funkar inte validate koden utan man kommer till ansokan_ok.asp utan att validera

Hur skall man göra???

Tack på förhand

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

spangoMedlem sedan juni 20008 205 inlägg
#8

Har en liten funktion som jag petade ihop för ett tag sen...

function checkDate(input){

	var pattern = /^(\d{4})-(\d{2})-(\d{2})$/;

	if(!pattern.test(input))
		return false;

	var year = parseInt(RegExp.$1),
	month = parseInt(RegExp.$2) - 1,
	date = parseInt(RegExp.$3);

	var toCheck = new Date();
	toCheck.setFullYear(year);
	toCheck.setMonth(month);
	toCheck.setDate(date);

	return toCheck.getFullYear() == year && toCheck.getMonth() == month && toCheck.getDate() == date;

} // checkDate() 

...senare i koden...
if(!checkDate(document.forms.register.fodelse_datum.value))
alert("Du måste fylla i ett giltigt datum i formen ÅÅÅÅ-MM-DD i rutan \"födelsedatum\".");

------------------
Be afraid. Be very, very afraid.

[Redigerat av spango den 19 sep 2001]

MethodMedlem sedan apr. 2001357 inlägg
#9

Hur skall jag "baka" in din kod i den kden jag har??? (är inte så bra på javascript... än ;))

<script language="JavaScript">
		function validateform() {
		if (document.register.fornamn.value==0
		&#0124;&#0124; document.register.efternamn.value==0
		&#0124;&#0124; document.register.adress.value==0
		&#0124;&#0124; document.register.postnr.value==0
		&#0124;&#0124; document.register.postadress.value==0
		&#0124;&#0124; document.register.fodelse_datum.value==0
		&#0124;&#0124; document.register.telefon.value==0)
		{
		alert("Alla fält med * måste fyllas i för att kunna gå vidare.")
		return false;
		}
		else if (!validateString(document.register.postnr.value,"0123456789"))
		{
		alert("Postnummer får bara vara siffor (0-9) och inga blanksteg.") 
		return false;
		}
		else if (!validateString(document.register.telefon.value,"0123456789-"))
		{
		alert("Telefon-nummer får bara vara siffor (0-9) och '-'.") 
		return false;
		}
		else if (!validateString(document.register.mobil.value,"0123456789-"))
		{
		alert("Mobiltelefon-nummer får bara vara siffor (0-9) och '-'.") 
		return false;
		}
		else if (!validateString(document.register.fodelse_datum.value,"0123456789-"))
		{
		alert("Födelsedatumet får bara innehålla siffor (0-9) och '-' och hålla formatet ÅÅÅÅ-MM-DD.") 
		return false;
		}
		else if (!document.register.ruta.checked)
		{
		alert("Ni måste godkänna vilkoren för att gå vidare") 
		return false;
		}
		else 
		{
		return true;
		} 
		}
		function validateString(str,valid){
		var res=0;
		for(var n=0;n<str.length;n++){ res+=(valid.indexOf(str.substring(n,n+1))<0)?1:0; }
		return (res>0) ? false:true;
		}
		</script>

Det råkar inte vara nån som vet hur jag skall fixa detta problem?

Jag måste ha denna knappen för att skicka formuläret annars blir det fel när man klickat på preview knappen då kommer man till den när man skall gå vidare

<input class="send" type="button" name="" value="Gå vidare >>" onclick="document.forms[0].target='_self'; document.forms[0].action='ansokan_ok.asp'; document.forms[0].submit();">

Men som den ser ut nu funkar inte validate koden utan man kommer till ansokan_ok.asp utan att validera

på något sätt måste man lägga in denna kod snutt i knappen men jag har provat utan framgång

onSubmit="return validateform();"

Hur skall man göra???

Tack på förhand

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

JojoxxMedlem sedan juni 20004 308 inlägg
#10

Bakar in den nya funktionen samt preview-alternativet;

<script language="JavaScript">
preview=null;
function validateform() {
if (document.register.fornamn.value==0
&#0124;&#0124; document.register.efternamn.value==0
&#0124;&#0124; document.register.adress.value==0
&#0124;&#0124; document.register.postnr.value==0
&#0124;&#0124; document.register.postadress.value==0
&#0124;&#0124; document.register.fodelse_datum.value==0
&#0124;&#0124; document.register.telefon.value==0)
{
alert("Alla fält med * måste fyllas i för att kunna gå vidare.")
return false;
}
else if (!validateString(document.register.postnr.value,"0123456789"))
{
alert("Postnummer får bara vara siffor (0-9) och inga blanksteg.") 
return false;
}
else if (!validateString(document.register.telefon.value,"0123456789-"))
{
alert("Telefon-nummer får bara vara siffor (0-9) och '-'.") 
return false;
}
else if (!validateString(document.register.mobil.value,"0123456789-"))
{
alert("Mobiltelefon-nummer får bara vara siffor (0-9) och '-'.") 
return false;
}
else if (!checkDate(document.forms.register.fodelse_datum.value))
{
alert("Födelsedatumet får bara innehålla siffor (0-9) och '-' och hålla formatet ÅÅÅÅ-MM-DD.") 
return false;
}
else if (!document.register.ruta.checked)
{
alert("Ni måste godkänna vilkoren för att gå vidare") 
return false;
}
else 
{
return true;
} 
}
function validateString(str,valid){
var res=0;
for(var n=0;n<str.length;n++){ res+=(valid.indexOf(str.substring(n,n+1))<0)?1:0; }
return (res>0) ? false:true;
}
function checkDate(input){
var pattern = /^(\d{4})-(\d{2})-(\d{2})$/;
if(!pattern.test(input))
return false;
var year = parseInt(RegExp.$1),
month = parseInt(RegExp.$2) - 1,
date = parseInt(RegExp.$3);
var toCheck = new Date();
toCheck.setFullYear(year);
toCheck.setMonth(month);
toCheck.setDate(date);
return toCheck.getFullYear() == year && toCheck.getMonth() == month && toCheck.getDate() == date;
} 
</script>

I form-taggen;

onSubmit="if(preview){ return true; }else{ return validateform(); }"

... och knappen;

<input class="send" type="button" name="" value="Gå vidare >>" onclick="preview=1; document.forms[0].target='_self'; document.forms[0].action='ansokan_ok.asp'; document.forms[0].submit();">

------------------
/ J

MethodMedlem sedan apr. 2001357 inlägg
#11

Knappen fungerar inte som den ska den går fortfarande till ansokan_ok.asp utan att validera

Men det andra funka fint ;)

Tack på förhand

Jonas

red. glömde lite text, tid: 13.27
------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

[Redigerat av Method den 19 sep 2001]

JojoxxMedlem sedan juni 20004 308 inlägg
#12

Knappen fungerar inte som den ska den går fortfarande till ansokan_ok.asp utan att validera

Ja...Si... Jag fick för mig att det var så du ville ha det. Hur som hellst, på knappar som du inte vill använda validerings-funktionen lägger du till preview=1; först i onClick. Annars valideras formuläret som vanligt. Alltså när onSubmit inträffar kollas om variabeln preview är satt, i så fall används inte validering.

------------------
/ J

MethodMedlem sedan apr. 2001357 inlägg
#13

Det funkar inte ändå

Jag skall förklara ;)

Du har ju sett vilka knappar jag använder

<input class="send" type="button" name="" value="Förhandsgranska" onclick="document.register.action='preview.asp'; window.open('','preview','width=550,height=300,scrollbars=yes'); document.register.target='preview'; document.register.submit();">

<input class="send" type="button" name="" value="Gå vidare >>" onclick="document.forms[0].target='_self'; document.forms[0].action='ansokan_ok.asp'; document.forms[0].submit();">

När jag provar med en "vanlig" submit knapp så funkar valideringen MEN då funkar det inte om man har tryckt på Förhandsgranska knappen innan för klickar man på Gå vidare >> efter det så öppnas preview.asp istället för att gå till ansokan_ok.asp.

Detta har ju nåt med "special" knapparna jag använder för att kunna förhandsgranska.

Jag fick den knappkoden av @nders, jag vet inte om det finns ett bättre sätt att lösa det på men jag vill ha preview och validering så....

Jag vet inte hur man löser det som sagt vet inte mycket om javascript

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

[Redigerat av Method den 19 sep 2001]

JojoxxMedlem sedan juni 20004 308 inlägg
#14

Jag skulle vilja att du börjar med att ändrar document.forms[0] till document.register för knappalternativ 2. (forms[x] använder du för att peka på ett formulär med dess index-nummer från 0 och uppåt, således första formuläret. Lägger du av någon anledning till ett formulär före detta på sidan kommer det inte att funka. Använder du namnet däremot är det ok).

Sedan. På de knappar som du vill hoppa över valideringen lägger du on preview=1; på först i onClick-eventet. Knappar som du vill skall använda valideringen lägger du in preview=null; på.

------------------
/ J

MethodMedlem sedan apr. 2001357 inlägg
#15

Nu har jag gjort exakt som du sa och det funkar ändå inte??

här kan du se hur det ser ut http://www.bengtdahlgren.se/jobb/ansok/index.asp

Tack på förhand!

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

JojoxxMedlem sedan juni 20004 308 inlägg
#16

Mmm... nu ser jag felet. Ändra "Gå vidare"-knappen till detta;

<input class="send" type="button" name="" value="Gå vidare >>" onclick="if(validateform()){ document.register.target='_self'; document.register.action='ansokan_ok.asp'; document.register.submit(); }">

------------------
/ J

MethodMedlem sedan apr. 2001357 inlägg
#17

Tack Jojoxx TACK TACK ;) ;) ;) :) :) :) :e

tack så mycket

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

MethodMedlem sedan apr. 2001357 inlägg
#18

Jag har lite problem med den kodsnutten som validerar att man skriver ÅÅÅÅ-MM-DD.

Använder jag ett datum med månaderna 08 och 09 så funkar den inte.

Jag får upp rutan då.

Varför?

Här är

	<script language="JavaScript">
preview=null;
function validateform() {
if (document.register.fornamn.value==0
&#0124;&#0124; document.register.efternamn.value==0
&#0124;&#0124; document.register.adress.value==0
&#0124;&#0124; document.register.postnr.value==0
&#0124;&#0124; document.register.postadress.value==0
&#0124;&#0124; document.register.fodelse_datum.value==0
&#0124;&#0124; document.register.telefon.value==0)
{
alert("Alla fält med * måste fyllas i för att kunna gå vidare.")
return false;
}
else if (!validateString(document.register.postnr.value,"0123456789"))
{
alert("Postnummer får bara vara siffor (0-9) och inga blanksteg.") 
return false;
}
else if (!validateString(document.register.telefon.value,"0123456789-"))
{
alert("Telefon-nummer får bara vara siffor (0-9) och '-'.") 
return false;
}
else if (!validateString(document.register.mobil.value,"0123456789-"))
{
alert("Mobiltelefon-nummer får bara vara siffor (0-9) och '-'.") 
return false;
}
else if (!checkDate(document.forms.register.fodelse_datum.value))
{
alert("Födelsedatumet får bara innehålla siffor (0-9) och '-' och hålla formatet ÅÅÅÅ-MM-DD t ex 1968-04-16.") 
return false;
}
else if (!document.register.ruta.checked)
{
alert("Ni måste godkänna villkoren för att gå vidare") 
return false;
}
else 
{
return true;
} 
}
function validateString(str,valid){
var res=0;
for(var n=0;n<str.length;n++){ res+=(valid.indexOf(str.substring(n,n+1))<0)?1:0; }
return (res>0) ? false:true;
}
function checkDate(input){
var pattern = /^(\d{4})-(\d{2})-(\d{2})$/;
if(!pattern.test(input))
return false;
var year = parseInt(RegExp.$1),
month = parseInt(RegExp.$2) - 1,
date = parseInt(RegExp.$3);
var toCheck = new Date();
toCheck.setFullYear(year);
toCheck.setMonth(month);
toCheck.setDate(date);
return toCheck.getFullYear() == year && toCheck.getMonth() == month && toCheck.getDate() == date;
} 
</script>

Tack på förhand

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

[Redigerat av Method den 20 sep 2001]

spangoMedlem sedan juni 20008 205 inlägg
#19

Lurigt, talbasen blev fel. Så här ska checkDate se ut:

function checkDate(input){
var pattern = /^(\d{4})-(\d{2})-(\d{2})$/;
if(!pattern.test(input))
return false;
var year = parseInt(RegExp.$1, 10),
month = parseInt(RegExp.$2, 10) - 1,
date = parseInt(RegExp.$3, 10);
var toCheck = new Date();
toCheck.setFullYear(year);
toCheck.setMonth(month);
toCheck.setDate(date);
return toCheck.getFullYear() == year && toCheck.getMonth() == month && toCheck.getDate() == date;
}

------------------
Be afraid. Be very, very afraid.

pellsäterMedlem sedan aug. 2000526 inlägg
#20

Varför går denna vidare till nästa sida??????

<script LANGUAGE="JavaScript">
function Validate() {
var strSoegeord = document.udvidet.elements[0].value

while (strSoegeord.indexOf(" ") != -1) {
	strSoegeord = strSoegeord.substring(0, strSoegeord.indexOf(" ")) + strSoegeord.substring(strSoegeord.indexOf(" ")+1,25);
}
if (strSoegeord.length \> 0) {
	if (strSoegeord.length \< 2) {
		alert("Sökordet ska minst innehålla två bokstäver.");
		document.form1.searchstring.focus();
		return false;
	}
	if (strSoegeord.length \> 30) {
		alert("Sökordet ska max innehålla 30 bokstäver.");
		document.form1.searchstring.focus();
		return false;
	} else
		return true;
} else 
	return false;

}
</script>

<form method="get" action="URL" name="udvidet" onSubmit="return Validate();">

140 ms totalt · 3 externa anrop · v20260731065814-full.16f3d68c
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)