webForumDet fria alternativet

Kolla om alla fälten är fyllda[google style]

JavaScript

3 svar · 364 visningar · startad av parse

Medlem sedan juli 200826 inlägg
Frågan#1

Hej!
Jag försöker hitta ett script som liknar googles när man ska registrera för en gmail adress.
När man inte fyllt i ett fält kommer en röd text bredvid fältet där det står "Nödvändigt fält får inte vara tomt" och det händer utan en popup.
Den jag har nu kommer med en alarmruta och det vill jag inte ha.
gmail:https://www.google.com/accounts/NewAccount?service=mail

<script type="text/javascript">

<!--

function formCheck(formobj){
	// Enter name of mandatory fields
	var fieldRequired = Array("namn", "email", "tel", "title", "text", "art");
	// Enter field description to appear in the dialog box
	var fieldDescription = Array("Name", "Email", "Telephone number", "Title", "Text", "Art");
	// dialog message
	var alertMsg = "Please complete the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}
//-->
</script>

Tacksam för svar.

Medlem sedan juli 20033 147 inlägg
#2
<script type="text/javascript">

function validate() {
	
	var name, email, password;
	var errorBox;
	var isValid = true;
	
	name = document.getElementById('name');
	email = document.getElementById('email');
	password = document.getElementById('password');
	
	errorBox = document.getElementById('errorBox');
		
	if (name.value.length < 2 && isValid) {
		errorBox.innerHTML = 'Du måste fylla i ett namn.'; 
		errorBox.style.display = 'block';
		isValid = false;
	}
	
	if (email.value.length < 5 && isValid) {
		errorBox.innerHTML = 'Du måste ange en epost-adress.';
		errorBox.style.display = 'block';
		isValid = false; 
	}
	
	if (password.value.length < 8 && isValid) {
		errorBox.innerHTML = 'Lösenordet är för kort.';
		errorBox.style.display = 'block';
		isValid = false; 
	}
	
	return isValid;
	     
}

</script>
<form method="post" action="index.php" onsubmit="return validate();">

Namn<br />
<input type="text" name="name" id="name" /><br />
E-post<br />
<input type="text" name="email" id="email" /><br />
Lösenord<br />
<input type="password" name="password" id="password" /><br />

</form>
<div id="errorBox" style="display: none;"></div>

Om du vill utöka det är det bara att skapa en "errorBox" för varje input-fält.

Medlem sedan juli 200826 inlägg
#3

Det funkar, men, eftersom jag har ett capatcha script som laddas om varje gång man skriver fel kommer texten fram i ungefär 1 sek och försvinner dock igen.

Edit:
Anledningen till att jag inte vill ha scriptet med alarmrutan är att medelandet man får är i persiska, och det visas inte i rutan utan det kommer upp själva koden. Såhär ser det ut: ن &#1602 ;&#1604

Medlem sedan juli 200826 inlägg
#4

Ingen som vet hur man gör för att skriva persiska i javascript?

299 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
151 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
145 ms — ändringar (db)