HulthMedlem sedan juni 2001272 inlägg Jag har 3 st textfält. Ovanför dessa ligger det en select.
Selecten ser ut såhär:
<select name="vhrp" id="vhrp">
<option value=""> </option>
<option value="a">123</option>
<option value="b">456</option>
<option value="c">789</option>
</select>
Textfälten:
<input name="a" type="text">
<input name="b" type="text">
<input name="c" type="text">
Om jag väljer a i select:en ska textfält a bli disabled.
Om jag väljer b i select:en ska textfält b bli disabled.
Likadant med c.
Nån som vet hur man gör? Har sökt runt lite här, men förstår inte riktigt ;)
HansenMedlem sedan aug. 2000374 inlägg Re: Disable på textfält beroende på select-värde
Hulth skrev:
[...]Har sökt runt lite här, men förstår inte riktigt ;)
Vad är det du inte förstår?
Här är några bra länkar som kommer få dig på rätt fot:
dectgapMedlem sedan sep. 20021 655 inlägg <script type="text/javascript">
function disableOneElm(theForm, disableName) {
var elms = ["a", "b", "c"];
var i = elms.length;
while(i-->0)
theForm.elements[ elms[i] ].disabled = (elms[i] == disableName);
}
</script>
...
<form>
<select name="vhrp" id="vhrp" onchange="disableOneElm(this.form, this.options[this.selectedIndex].value)">
<option value=""> </option>
<option value="a">123</option>
<option value="b">456</option>
<option value="c">789</option>
</select>
<input name="a" type="text">
<input name="b" type="text">
<input name="c" type="text">
</form>
HulthMedlem sedan juni 2001272 inlägg Om man samtidigt vill tömma och ändra bakgrundsfärg på input-rutan?
Så dels den som använder sidan ser att den inte ska användas + att jag vet att den är tom när jag sedan behandlar informationen som kommer ifrån form:en (ifall man först har skrivit något i den, sen valt bort den)
dectgapMedlem sedan sep. 20021 655 inlägg Ett fält som är disabled skickas inte, så du behöver inte bry dig om att tömma det av den anledningen du skriver.
För att få rätt färgen:
<script type="text/javascript">
function disableOneElm(theForm, disableName) {
var disabledColor = "#f00";
var elms = ["a", "b", "c"];
var i = elms.length;
while(i-->0) {
theForm.elements[ elms[i] ].disabled = (elms[i] == disableName);
theForm.elements[ elms[i] ].style.backgroundColor = (elms[i] == disableName) ? disabledColor : "";
}
}
</script>
...
<form>
<select name="vhrp" id="vhrp" onchange="disableOneElm(this.form, this.options[this.selectedIndex].value)">
<option value=""> </option>
<option value="a">123</option>
<option value="b">456</option>
<option value="c">789</option>
</select>
<input name="a" type="text">
<input name="b" type="text">
<input name="c" type="text">
</form>
HulthMedlem sedan juni 2001272 inlägg Tack för att du tog dig tid dectgap =)