Textfeld dynamisch deaktivieren
amidala
- javascript
Hi,
ich habe auf meiner seite eine select box und ein textfeld. wenn in der selectbox das element mit dem wert -1 ausgewählt ist, soll das textfeld deaktiviert werden, andernfalls aktiviert.
nun kommt hinzu, dass ich x selects und x textfelder habe. deswegen habe ich eine javascript funktion und übergebe die nr, um welches textfeld es sich handelt.
function jscheckcard(target, nr)
{
var tmp = "form_card_text_" + nr;
if (target.value == -1)
document.form.tmp.disabled = true;
else
document.form.tmp.disabled = false;
/*
if (target.value == -1)
document.form.form_card_text_1.disabled = true;
else
document.form.form_card_text_1.disabled = false;
*/
}
der auskommentierte code funktioniert wunderbar. dies ist jedoch statisch mit der 1. anstatt der 1 möchte ich da gerne den parameter nr haben. leider läuft mein code so nicht.
kann mir da wer helfen?
amidala
Hallo amidala.
function jscheckcard(target, nr)
{
var tmp = "form_card_text_" + nr;
if (target.value == -1)
document.form.tmp.disabled = true;
else
document.form.tmp.disabled = false;/*
if (target.value == -1)
document.form.form_card_text_1.disabled = true;
else
document.form.form_card_text_1.disabled = false;
*/
}der auskommentierte code funktioniert wunderbar. dies ist jedoch statisch mit der 1. anstatt der 1 möchte ich da gerne den parameter nr haben. leider läuft mein code so nicht.
kann mir da wer helfen?
Du solltest dir hierzu Christian Kruses Artikel zum Umgang mit Objekten ansehen. Obige Schreibweise (im auskommentierten Bereich) ist nicht die einzige Möglichkeit, auf das jeweilige Formularelement zuzugreifen.
Einen schönen Samstag noch.
Gruß, Mathias
hi,
danke für den link. habe das problem mit eval gelöst.
amidala
Hallo amidala.
danke für den link. habe das problem mit eval gelöst.
Pfui! Lösche dies bitte gleich wieder und schau dir den verlinkten Artikel an.
Einen schönen Samstag noch.
Gruß, Mathias
Hallo,
var tmp = "form_card_text_" + nr;
document.form.tmp.disabled = true;
Siehe http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines, Schema 4.
document.form["formularname"].elements["elementname"]
Anstatt direkt Zeichenketten anzugeben kann man auch Variablen verwenden:
var formularname = "name", element = "name";
document.form[formular].elements[element]
Mathias