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:
5 svar · 435 visningar · startad av Hulth
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 ;)
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:
<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>
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)
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>
Tack för att du tog dig tid dectgap =)