webForumDet fria alternativet

Validering och radio

3 svar · 485 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#1

Har ett formulär där jag nu har en validering på. Jag har 4 textfält (namn: falt1,falt2,falt3,falt4) och 3 radioknappar (namn: typ) med samma namn och värderna 0, 1 och 2 och om man väljer två av dessa (1 eller 2) så ska det i valideringen tillkomma att man måste fylla i falt3 samt falt4.

Fattar inte hur jag ska göra. Har testat detta men funkar inte men är inge bra på javascript så hoppas på hjälp här..

function validateForm(){
	var elements = document.register.elements;
	if (elements['falt1'].value == '') {
		showMessagebox('formMessageInfo', "Fyll i fält 1");
		return false;
	}
	if (elements['falt2'].value == '') {
		showMessagebox('formMessageInfo', "Fyll i fält 2");
		return false;
	}
	if (elements['typ'].value > 0) {
		if (elements['falt3'].value == '') {
			showMessagebox('formMessageInfo', "Fyll i fält 3");
			return false;
		}
		if (elements['falt4'].value == '') {
			showMessagebox('formMessageInfo', "Fyll i fält 4");
			return false;
		}
	}
	return true;
}
function submitForm (){
	if (validateForm ()) {
		document.register.submit();
	}
}
AsaMedlem sedan dec. 20011 860 inlägg
#2

Ingen som vet?

rhdfMedlem sedan okt. 2007446 inlägg
#3

ahaa

du har gjort en liten tankevurpa
elements['typ'].value "finns inte" eftersom elements['typ']kommer ge dig en array eller nåt i den stilen, så du måste loopa igenom dina radiobuttons för att hitta vilken som är ikryssad och returnera värdet på den

så ersätt
if (elements['typ'].value > 0)
med
if (getRGvalue(elements['typ'])!="0")

och lägg till denna funktion

function getRGvalue(buttonGroup){
if (buttonGroup){
	for (var i = buttonGroup.length; i--;){
		if (buttonGroup[i].checked){
			return buttonGroup[i].value;
		}
	}
}
return "";
}
AsaMedlem sedan dec. 20011 860 inlägg
#4

Tackar så mycket :) Funkade fint

129 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)