webForumDet fria alternativet

Validera en selectbox

1 svar · 224 visningar · startad av web00132

web00132Medlem sedan maj 2001797 inlägg
#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;
	}
}
JojoxxMedlem 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>
130 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)