webForumDet fria alternativet

Två Valideringar ?

6 svar · 144 visningar · startad av Pellefant

PellefantMedlem sedan maj 20022 614 inlägg
#1

Hej!

Försöker få denna att fungera, så att det valideras att det finns något i namn fältet, samt att det bör finnas en "@" i e-mail fältet. (Har inte fått till någon validering för e-mailet.)

<SCRIPT LANGUAGE="JavaScript">
function tomtvalidation(entered, alertbox)
{
                        with (entered)
                       {
		         if (value==null || value=="" || value=='\n' )
                       {if (alertbox!="") {alert(alertbox);} return false;}
                       else {return true;}
                       }
} 

function mailcheck(entered, alertbox)
{
}

function formvalidation(thisform)
{
                       with (thisform)
                       {
                       
                       if (tomtvalidation(name,"Enter your name please!")==false)
                        {name.focus(); return false;};
                       
		    			if (mailcheck(email, "You have to write a valid E-mail address!")==false) {
			            	     {email.focus(); return false;};
						return false;
						}   
} 
//  End -->
</script>

-klipp---

<FORM METHOD="POST" ACTION="dlpage.html" onsubmit="return formvalidation(this)">

<INPUT TYPE="text" NAME="name">
<INPUT TYPE="text" NAME="email">
		

<INPUT TYPE="submit" value="Download file">
</FORM>
dectgapMedlem sedan sep. 20021 542 inlägg
#2

Här har du en funktion som kollar efter om email innehåller ett @-tecken:

function mailcheck(entered, alertbox)
{
if(entered.indexOf('@')==-1){
 alert(alertbox);
 return false;
}
return true
}
PellefantMedlem sedan maj 20022 614 inlägg
#3

Tack det var snällt. Jag är inte så haj på Javascript, jag får den inte att anropas. Fyller man inte i något i name så får man upp en alertruta, men inte för mail rutan.

function tomtvalidation(entered, alertbox)
{
                        with (entered)
                       {
		         if (value==null || value=="" || value=='\n' )
                       {if (alertbox!="") {alert(alertbox);} return false;}
                       else {return true;}
                       }
} 

function mailcheck(entered, alertbox)
{
if(entered.indexOf('@')==-1){
 alert(alertbox);
 return false;
}
return true
}

function formvalidation(thisform)
{
                       with (thisform)
                       {
                       
                       if (tomtvalidation(name,"Enter your name please!")==false)
                        {name.focus(); return false;};
                       
		    			if (mailcheck(email, "You have to write a valid E-mail address!")==false) {
			            	     {email.focus(); return false;};
						return false;
						}
						}
} 
//  End -->
</script>
dectgapMedlem sedan sep. 20021 542 inlägg
#4

Kolla efter om inte detta fungerar. Jag har ändrat lite (bl a bytt namn på funktionerna och tagit bort hela with-tjofräsen eftersom jag tyckte att den var onödig) för att kunna se hur det hela var uppbyggt... ändra tillbaka om du vill:

function validateName(entered, alertbox){
if (entered.value==null || entered.value=="" || entered.value=='\n' ){
 alert(alertbox);
 return false;}
}
return true;
} 

function validateEmail(entered, alertbox){
if(entered.value.indexOf('@')==-1){
 alert(alertbox);
 return false;
}
return true
}

function formvalidation(thisform){
if (validateName(thisform.name,"Enter your name please!")==false){
 thisform.name.focus();
 return false;
}

if (validateEmail(thisform.email, "You have to write a valid E-mail address!")==false){
 thisform.email.focus();
 return false;
}
return true;
}
PellefantMedlem sedan maj 20022 614 inlägg
#5

Hej! :)

Hoppas jag inte är för frågvis, testar med det ovan nu, men nu så valideras ingenting, utan man kommer vidare till nästa sida även om man inte trycker på något.

<HTML>
<HEAD>
<TITLE></TITLE>

<script>
function validateName(entered, alertbox){
if (entered.value==null || entered.value=="" || entered.value=='\n' ){
 alert(alertbox);
 return false;}
}
return true;
} 

function validateEmail(entered, alertbox){
if(entered.value.indexOf('@')==-1){
 alert(alertbox);
 return false;
}
return true
}

function formvalidation(thisform){
if (validateName(thisform.name,"Enter your name please!")==false){
 thisform.name.focus();
 return false;
}

if (validateEmail(thisform.email, "You have to write a valid E-mail address!")==false){
 thisform.email.focus();
 return false;
}
return true;
}
</script>
</HEAD>

<BODY>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">
Please enter the following data which helps us to<br>
keep in contact with you:

<FORM METHOD="POST" ACTION="dlpage.html" onsubmit="return formvalidation(this)">
<TABLE>
<TR>
	<TD><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Name:</TD>
	<TD><INPUT TYPE="text" NAME="name"></TD>
	<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">*Required</td>
</TR>
<TR>
	<TD><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Company:</TD>
	<TD><INPUT TYPE="text" NAME="company"></TD>
</TR>
<TR>
	<TD><font size="2" face="Verdana, Arial, Helvetica, sans-serif">E-mail:</TD>
	<TD><INPUT TYPE="text" NAME="email"></TD>
		<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">*Required</td>
</TR>
<TR>
	<TD><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Phone</TD>
	<TD><INPUT TYPE="text" NAME="phone"></TD>
</TR>
</TABLE>

<BR>
<center>
<INPUT TYPE="submit" value="Download file">
</center>

</FORM>

</BODY>
</HTML>
Peter SMedlem sedan dec. 20025 484 inlägg
#6

Du har en "måsvinge" för mycket i funktionen validateName():

<script>
function validateName(entered, alertbox){
if (entered.value==null || entered.value=="" || entered.value=='\n' ){
 alert(alertbox);
 return false;}
} [b]// <-- Ta bort denna[/b]
return true;
}

:)

PellefantMedlem sedan maj 20022 614 inlägg
#7

Tack så hemst mycket nu funkar det.

En sak jag inte riktigt förstår, popupen upp först om ca 5 sekunder, vad kan det bero på ? Servern verkar snabb för övrigt.

Genererad på 372 ms · cache AV · v20260730165559-full.f96bc7eb