Formularfeld ausgrauen
Chris
- php
Hallo zusammen.
Wenn ich zwei formularfelder nebeneinander habe, möchte ich, dass wenn in dem linken angefangen zu schreiben wird, dass das rechte formularfelder ausgegraut wird. (Bzw. andersrum) Ist das irgendwie möglich mit "if" oder so?
Danke
Hallo,
Wenn ich zwei formularfelder nebeneinander habe, möchte ich, dass wenn in dem linken angefangen zu schreiben wird, dass das rechte formularfelder ausgegraut wird.
Mit PHP ist das selbstverständlich so nicht möglich, da ja das PHP-Script in
dem Moment, in dem der Besucher die Seite sieht, ja schon beendet ist.
Da brauchst du schon Javascript für. Du könntest in dem einen Formularfeld bei
'onchange' eine Funktion aufrufen, die das andere Feld auf 'disabled' setzt.
Das könnte vielleicht so ähnlich aussehen (nicht getestet):
function disable_element(elm_id) {
elm = document.getElementById(elm_id);
elm.setAttribute(disabled,"disabled");
}
<input type="text" onchange="disable_element('xyz');" />
<input type="text" id="xyz" />
Gruß, Jan
Das könnte vielleicht so ähnlich aussehen (nicht getestet):
function disable_element(elm_id) {
elm = document.getElementById(elm_id);
elm.setAttribute(disabled,"disabled");
}
>
> ~~~html
> <input type="text" onchange="disable_element('xyz');" />
> <input type="text" id="xyz" />
>
Gruß, Jan
Danke Dir erstmal. Das hier müsste doch in den Head-bereich oder?
habe es jetzt vor <?php gesetzt, aber das funktioniert nicht:
<head>
<script type="text/javascript">
function disable_element(elm_id) {
elm = document.getElementById(elm_id);
elm.setAttribute(disabled,"disabled");
}
</script>
</head>
Hallo,
Ähm, hier fehlen natürlich die Anführungszeich um das erste 'disabled'.
Richtig wäre:
function disable_element(elm_id) {
elm = document.getElementById(elm_id);
elm.setAttribute("disabled","disabled");
}
Wenn du eigentlich meintest, daß das zweite Eigabefeld nur ausgegraut sein
soll, wenn das erste nicht leer ist (nicht, wenn man darin irgendwas ändert,
denn man kann beim Ändern ja auch Eingaben löschen), wäre wohl folgendes
besser:
~~~javascript
function disable_element(src_elm,elm_id) {
elm = document.getElementById(elm_id);
if (src_elm.value != "") {
elm.setAttribute("disabled","disabled");
}
else {
elm.removeAttribute("disabled");
}
}
<input type="text" onchange="disable_element(this,'xyz');" />
<input type="text" id="xyz" />
Gruß, Jan
Wenn du eigentlich meintest, daß das zweite Eigabefeld nur ausgegraut sein
soll, wenn das erste nicht leer ist (nicht, wenn man darin irgendwas ändert,
denn man kann beim Ändern ja auch Eingaben löschen), wäre wohl folgendes
besser:
function disable_element(src_elm,elm_id) {
elm = document.getElementById(elm_id);
if (src_elm.value != "") {
elm.setAttribute("disabled","disabled");
}
else {
elm.removeAttribute("disabled");
}
}
>
> ~~~html
> <input type="text" onchange="disable_element(this,'xyz');" />
> <input type="text" id="xyz" />
>
Gruß, Jan
Danke!!! So funktioniert es jetzt!