webForumDet fria alternativet

Dynamisk formulärobjektnamnsvalidering

3 svar · 241 visningar · startad av J.N.

J.N.Medlem sedan apr. 20031 660 inlägg
#1

HEJ!

Jag har denna kod för att enable/disable ett textfält och en annan checkbox:

function dis_en(obj,a){
	if (obj.checked){
		form.headline.disabled = true;
		eval(form." + a + ".disabled) = true;
	}
	else{
		form.headline.disabled = false;
		form.addhl.disabled = false;
	}
}

Kallas via

OnClick="dis_en(this,'addhl')

från en checkbox.

Mitt problem är att jag på den andra checkboxen vill köra samma funktion, fast med OnClick="dis_en(this,'prevhl') istället.

Jag vill dynamiskt sätta ihop i funktionen överst vilken checkbox som ska ändras.

MEN, hur gör man det?
Ska man ha eval, " ' eller något annat?
Enklare kod mottages också tacksamt!

Peter SMedlem sedan dec. 20025 483 inlägg
#2
<script type="text/javascript">

function dis_en(obj, a) {
    obj.form.elements["headline"].disabled = obj.form.elements[a].disabled = obj.checked;
}

</script>

<form>
    <input type="checkbox" onclick="dis_en(this,'addhl')" name="prevhl">
    <input type="text" name="headline">
    <input type="checkbox" onclick="dis_en(this,'prevhl')" name="addhl">
</form>

:q

J.N.Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

Fungerar perfekt!

Man kan alltså tilldela som du gör utan problem, flera på samma gång?

Japp, det kan man, testade med
a=b=3
alert(a+b)
som ger 6, helt riktigt alltså.

Det står inte på Devguru, http://www.devguru.com/Technologies/ecmascript/quickref/assignment_operators.html

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Ja, det går bra eftersom tilldelningsoperatorn associerar från höger till vänster.

:)

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