webForumDet fria alternativet

Valideringstrubbel

5 svar · 334 visningar · startad av Skarre

SkarreMedlem sedan apr. 20012 447 inlägg
#1

Jag skulle uppskatta om någon kunde tala om för mig varför alert:en i fetstil inte fungerar. Observera att när jag flyttar upp den innanför loopen så fungerar den, men då dyker också meddelandet upp lika många gånger som det finns fält i formuläret etc. och det är inte önskvärt.

<script language="JavaScript">
<!--
function checkForm(objForm) {
	var strEmptyField = "";
	for (var i = 0; i <= objForm.length; i++) {
		if (objForm.elements[i].value.length == 0) {
			switch (objForm.elements[i].name) {
				case "fname":
					strEmptyField = strEmptyField + "Förnamn \n";
				case "lname":
					strEmptyField = strEmptyField + "Efternamn \n";
				case "street":
					strEmptyField = strEmptyField + "Gatunamn/box \n";
				case "zipcity":
					strEmptyField = strEmptyField + "Postnummer & ort \n";
				case "birthday":
					strEmptyField = strEmptyField + "Födelsedatum \n";
				case "email":
					strEmptyField = strEmptyField + "E-mail-adress \n";
				case "username":
					strEmptyField = strEmptyField + "Användarnamn \n";
				case "password":
					strEmptyField = strEmptyField + "Lösenord \n";
				case "password2":
					strEmptyField = strEmptyField + "Verifiera lösenord \n";					
			}
		}
	}
	[b]alert(strEmptyField)[/b]
}
//-->
</script>
JojoxxMedlem sedan juni 20004 306 inlägg
#2
if(strEmptyField){
   alert("Följande fel påträffades\n"+strEmptyField);
   return false;
} else {
   return true;
}
SkarreMedlem sedan apr. 20012 447 inlägg
#3

Nu ser det ut enligt följande men det händer fortfarande ingenting:

<script language="JavaScript">
<!--
function checkForm(objForm) {
	var strEmptyField = "";
	for (var i = 0; i <= objForm.length; i++) {
		if (objForm.elements[i].value.length == 0) {
			switch (objForm.elements[i].name) {
				case "fname":
					strEmptyField = strEmptyField + "Förnamn \n";
				case "lname":
					strEmptyField = strEmptyField + "Efternamn \n";
				case "street":
					strEmptyField = strEmptyField + "Gatunamn/box \n";
				case "zipcity":
					strEmptyField = strEmptyField + "Postnummer & ort \n";
				case "birthday":
					strEmptyField = strEmptyField + "Födelsedatum \n";
				case "email":
					strEmptyField = strEmptyField + "E-mail-adress \n";
				case "username":
					strEmptyField = strEmptyField + "Användarnamn \n";
				case "password":
					strEmptyField = strEmptyField + "Lösenord \n";
				case "password2":
					strEmptyField = strEmptyField + "Verifiera lösenord \n";					
			}
		}
	}
	if(strEmptyField){
	   alert("Vänligen fyll i följande fält: \n" + strEmptyField);
	   return false;
	} else {
	   return true;
	}	
}
//-->
</script>

Jag kanske bör bifoga attributet som ligger i <form>-taggen:

onSubmit="return checkForm(this);"
JojoxxMedlem sedan juni 20004 306 inlägg
#4
function checkForm(objForm) {
	var strEmptyField = "";
	for (var i = 0; i < objForm.length; i++) {
		if (objForm.elements[i].value.length == 0) {
			switch (objForm.elements[i].name) {
				case "fname":
					strEmptyField = strEmptyField + "Förnamn \n";
					break;
				case "lname":
					strEmptyField = strEmptyField + "Efternamn \n";
					break;
				case "street":
					strEmptyField = strEmptyField + "Gatunamn/box \n";
					break;
				case "zipcity":
					strEmptyField = strEmptyField + "Postnummer & ort \n";
					break;
				case "birthday":
					strEmptyField = strEmptyField + "Födelsedatum \n";
					break;
				case "email":
					strEmptyField = strEmptyField + "E-mail-adress \n";
					break;
				case "username":
					strEmptyField = strEmptyField + "Användarnamn \n";
					break;
				case "password":
					strEmptyField = strEmptyField + "Lösenord \n";
					break;
				case "password2":
					strEmptyField = strEmptyField + "Verifiera lösenord \n";					
					break;
			}
		}
	}
	if(strEmptyField){
	   alert("Vänligen fyll i följande fält: \n" + strEmptyField);
	   return false;
	} else {
	   return true;
	}	
}

Ändringar:
* for (var i = 0; i < objForm.length; i++) {
* break;

SkarreMedlem sedan apr. 20012 447 inlägg
#5

Tackar Jojoxx! Det är otroligt hur slarvig man blir när man inte kört JavaScript på länge. Det vore underbart att kunna scripta ASP med JavaScript. *drömmer* :)

JojoxxMedlem sedan juni 20004 306 inlägg
#6

Egentligen skall du kunna använda alla scriptspråk som finns installerade i Windows Scripting Host under ASP, men det kanske är att gå över ån för att hämta vatten.

Litet exempel plankat från JavaScript:

<%@ language="javascript" %>
<%
var days = new Array("Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag");
var months = new Array("Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December");
var now = new Date();
day = now.getDay();
date = now.getDate();
month = now.getMonth();
year = now.getYear();
if (year < 1900) { year += 1900 }
Response.write(days[day] + "en den " + date + " " + months[month] + " " + year);
%>
Genererad på 379 ms · cache AV · v20260730165559-full.f96bc7eb