webForumDet fria alternativet

Validera en selectbox

JavaScriptur Javascript

1 svar · 224 visningar · startad av web00132

Medlem sedan maj 2001797 inlägg
Frågan#1

Jag hittade ett script som kollar mitt formulär. Det fungerar fint på mina textboxar men nu skulle jag vilja lägga till så att det kollar mina två selectboxar också. Hur göra?

function formCheck(formobj){
	// name of mandatory fields
	var fieldRequired = Array("lista", "platsid", "datum", "tid", "kurslangd");
	// field description to appear in the dialog box
	var fieldDescription = Array("Kursval", "Plats", "Kursstart", "Tid", "Kurslängd");
	// dialog message
	var alertMsg = "Fyll i följande fält:\n\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;
	}
}
Medlem sedan juni 20004 308 inlägg
#2

Ser rättså ok ut, men du kanske skall använda value istället för text när du validerar listan och sedan låter du value på default-valet vara tomt:

			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].[b][blue]value[/blue][/b] == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;

och listan:

<select name="lista">
<option value="">--Välj en--</option>
<option value="a">Ett val</option>
</select>
133 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)