webForumDet fria alternativet

Disabla input med värde i select

4 svar · 328 visningar · startad av Melea

MeleaMedlem sedan juli 20033 147 inlägg
#1

Tjena!

Har ett litet problem.
Hittade en kodsnutt här på wF av dectgap. Men det funkar inte riktigt som jag vill ha det.

<script type="text/javascript">
function disableOneElm(theForm, disableName) {
    var elms = ["Misc"];
    var i = elms.length;

    while(i-->0)
        theForm.elements[ elms[i] ].disabled = (elms[i] == disableName);
}
</script>

...

<form>

...andra formulärfält

<select name="CatID" onchange="disableOneElm(this.form, this.options[this.selectedIndex].value)">
<option value="1">Styrelseprotokoll</option>
<option value="2">Övrigt</option>
</select>

<input name="Misc" type="text">

...andra formulärfält

</form>

Så ser det ut, och jag vill att Misc-täxtfältet ska gå att skriva i om man väljer Övrigt.
Tacksam för svar

MVH

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Hejhopp

Exempel:

<form>

...andra formulärfält

<select name="CatID" onchange="this.form.Misc.disabled=(this[this.selectedIndex].value!='2')">
<option value="1">Styrelseprotokoll</option>
<option value="2">Övrigt</option>
</select>

<input name="Misc" type="text" disabled="disabled">

...andra formulärfält

</form>
MeleaMedlem sedan juli 20033 147 inlägg
#3

Gutt mos! :)
Kan man lösa det så att värdet i Misc-textfälftet försvinner när man väljer Styrelseprotokoll igen? Detta för att det inte ska stå någonting där man man checkar med php sen

if(isset($_POST['Misc']))...

Tack tack

JojoxxMedlem sedan juni 20004 308 inlägg
#4
<form>

...andra formulärfält

<select name="CatID" onchange="this.form.Misc.disabled=(this[this.selectedIndex].value!='2'); if(this.form.Misc.disabled){ this.form.Misc.value=''; }">
<option value="1">Styrelseprotokoll</option>
<option value="2">Övrigt</option>
</select>

<input name="Misc" type="text" disabled="disabled">

...andra formulärfält

</form>

Melea skrev:

if(isset($_POST['Misc']))...

Det bästa är ändå, generellt sett;

if($_POST['CatID']=='2')...

... alltså att göra denna typ av kontroll på serversidan där vet att den faktiskt görs.

MeleaMedlem sedan juli 20033 147 inlägg
#5

Mja, jag löste det så också, och verkar ju vara den bättre lösningen också. :)
Tack så mycket Jojoxx! :bire

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