webForumDet fria alternativet

Två frågor

5 svar · 224 visningar · startad av ampy

ampyMedlem sedan feb. 20011 512 inlägg
#1

Hej!

Hur gör man för att kolla om ett fält är tomt, de fälten jag vill kolla heter:

username
pass1
pass2
epost

Sen undrar jag också hur man gör för att kolla om fältet epost innehåller @ eller inte. Hoppas någon kan hjälpa mig med dessa två frågor.

------------------
Ampy.cjb.net

JojoxxMedlem sedan juni 20004 306 inlägg
#2

Om du använder sökfunktionen och söker på exempelvis "validate form" så får du många svar. Denna fråga har varit uppe ett antal gånger.

------------------
webForum stängt 15-17 feb. Läs mer.

/ Jojoxx
moderator wF

ampyMedlem sedan feb. 20011 512 inlägg
#3

Nu har jag kollat runt lite och så här ser min kod ut nu:

<script language="javascript">
function check(pass1, pass2)
{
var check = new RegExp(pass1)
if (check.test(pass2)==true)
{
 if document.member.username.value == ""
    {
    alert('Tomt formulär!')
    return false;
    }
}
else
{
alert("Du har inte skrivit in samma lösenord.")
return false
}
}

</script>

<form name="member" method="post" action="nymedlem.asp" onsubmit="return check(this.pass1.value, this.pass2.value)">

Men när jag lämnar fältet username tomt så kommer jag ändå förbi, varför?

------------------
Ampy.cjb.net

JojoxxMedlem sedan juni 20004 306 inlägg
#4
<script language="javascript">
function check(formobj){
	if(formobj.pass1.value.length==0 &#0124;&#0124; formobj.pass1.value != formobj.pass2.value){
		alert('Lösenordet måste vara ifyllt och identiskt i båda fälten');
		return false;
	} else if(formobj.username.value.length==0){
		alert('Du måste ange ett användarnamn');
		return false;
	} else if(formobj.epost.value.indexOf('@')<0){
		alert('Du måste ange en e-post adress');
		return false;
	} else {
		return true;	
	}
}

</script>
<form name="member" method="post" action="nymedlem.asp" onsubmit="return check(this)">

------------------
webForum stängt 15-17 feb. Läs mer.

/ Jojoxx
moderator wF

ampyMedlem sedan feb. 20011 512 inlägg
#5

Snällt av dig att lägga till lite extra funktioner :D, men hur gör jag för att lägga till mer fält som jag vill kolla, den här gången räcker det med att bara kolla om det är tomt eller inte?

------------------
Ampy.cjb.net

JojoxxMedlem sedan juni 20004 306 inlägg
#6

Kod-flödet är som följer;

om (jämförelse){
... så körs detta.
} annars om (jämförelse){
... så körs detta.
} annars om (jämförelse){
... så körs detta.
} annars {
... så körs detta.
}

Översatt till scriptkod blir det om du kan lite engelska, om=if, annars om=else is, annars=else. Det sista else (annars) körs alltså om samtliga tidigare jämförelser har varit falska (fel). Således, om du skall lägga till fler jämförelser i mitten lägger du till fler } else if (){-satser före det sista } else {.

--- Tillägg ---

De dubbla pipe-tecknen (||) betyder "eller" och blir alltså;

om (jämförelse ELLER annan jämförelse)

alltså om någon av jämförelserna är sanna (riktiga). På samma sätt kan du använda && som betyder OCH;

om (jämförelse OCH annan jämförelse)

Vilket då betyder om båda jämförelserna är sanna (riktiga).

------------------
webForum stängt 15-17 feb. Läs mer.

/ Jojoxx
moderator wF

[Redigerat av Jojoxx den 11 feb 2002]

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