webForumDet fria alternativet
Logga in / Bli medlem

Två frågor

JavaScript

5 svar · 224 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Trådstart#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.

Medlem sedan juni 20004 308 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.

Medlem sedan feb. 20011 498 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?

Medlem sedan juni 20004 308 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)">
Medlem sedan feb. 20011 498 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?

Medlem sedan juni 20004 308 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).

264 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)