getElementById "funktioniert" nicht
Kerstin_22
- javascript
0 Struppi
0 plan_B0 plan_B0 Kerstin_220 EKKi
Hallo, hier bin ich noch mal mit einem Problem ;-)
Ich fürchte, was die Funktion im Betreff angehet habe ich einige Grundlegende Dinge nicht verstanden. Ich habe folgenden Code (hier im Forum gefunden und frei verändert ;-):
<script type="text/javascript">
function aendern(param){
document.getElementById("t").nodeValue = param;
}
</script>
----------------
<form name="formtest">
<input id="t" name="test" value="defaultwert" readOnly="true">
<input type="button" name="read" value="Read" onClick="document.getElementById("t").readOnly=true">
<input type="button" name="write" value="Write" onClick="document.formtest.test.readOnly=false">
<input type="button" name="edit" value="Edit" onClick="aendern("andererWert")">
</form>
Warum funktioneiren der "Edit" und der "Read"-Button nicht?
Viele Grüße,
K_22
function aendern(param){
document.getElementById("t").nodeValue = param;
Wo hast du nodeValue her?
Du suchst value
Struppi.
Hallo,
<input type="button" name="read" value="Read" onClick="document.getElementById("t").readOnly=true">
dieser Fehler lässt den von Struppi erkannten gar nicht erst zum Zuge kommen.
Deine Gänsefüsschen-Schachtelung wird nicht erkannt:
<input type="button" name="read" value="Read" onClick="document.getElementById("
t").readOnly=true">
mit diesem Rest kann der Parser gar nix anfangen
<input type="button" name="read" value="Read" onClick="document.getElementById('t').readOnly=true">
oder
<input type="button" name="read" value="Read" onClick="this.form.elements.test.readOnly=true">
bei "edit" entsprechend ...
Gruß plan_B
es wäre geschickter gewesen, diese Anschlussfrage in deinem Startthread zu stellen. Vermeide bitte künftig Doppelpostings.
Mach es den Beteiligten einfacher, dir zu helfen und den Überblick zu behalten ....
Gruß plan_B
es wäre geschickter gewesen, diese Anschlussfrage in deinem Startthread zu stellen. Vermeide bitte künftig Doppelpostings.
Mach es den Beteiligten einfacher, dir zu helfen und den Überblick zu behalten ....
Gruß plan_B
Da es sich um ein anderes Problem handelte war ich der Meinung, dass es günstiger sei, einen eigenen Thread aufzumachen; die Überschrift des letzten hätte nicht wirklich zu diesem hier gepasst.
Die Sache mit der Übersichtlichkeit ist natürlich auch ein Argument. Ich werde es beim nächsten mal beachten :-)
Gruß,
K_22
Hallo, da bin ich noch mal. In der von Dir vorgeschlagenen Konstellation geht es jetzt aber wenn ich das readOnly-Attribut-Setzen in eine Funktion auslagere, dann geht es wieder nicht.
<script type="text/javascript">
function aendern(param){
document.getElementById("t").value = param;
}
function read(){
document.getElementById("t").readOnly="true";
}
</script>
----------------
<form name="formtest">
<input id="t" name="test" value="defaultwert" readOnly="true">
<input type="button" name="read" value="Read" onClick="read()">
<input type="button" name="write" value="Write" onClick="document.formtest.test.readOnly=false">
</form>
Habe ich wieder etwas übersehen oder handelt es sich bei readOnly um ein "problematisches" Attribut, was nicht richtig von den Browsern unterstützt wird? Ich habe z.B. auch die Erfahrung gemacht, dass das setzen von readOnly="false" im Formular gar nciht beachtet wird.
Viele Grüße,
K_22
Mahlzeit,
document.getElementById("t").readOnly="true";
Vielleicht liegt das daran, dass die Eigenschaft http://de.selfhtml.org/javascript/objekte/elements.htm#readonly@title=readOnly eine Boole'sche Variable (also entweder true
oder false
) und keinen String als Wert erwartet ... :-)
Habe ich wieder etwas übersehen oder handelt es sich bei readOnly um ein "problematisches" Attribut, was nicht richtig von den Browsern unterstützt wird?
Eher ersteres als letzteres - kaum macht man's richtig, funktioniert's nämlich auch. ;-)
Ich habe z.B. auch die Erfahrung gemacht, dass das setzen von readOnly="false" im Formular gar nciht beachtet wird.
Per Javascript? Da müsstest Du auch eher foobar.readOnly = false;
setzen (s.o.).
MfG,
EKKi
Mahlzeit,
Danke, ich bin tatsächlich gerade beim Frühstück :)
Vielleicht liegt das daran, dass die Eigenschaft http://de.selfhtml.org/javascript/objekte/elements.htm#readonly@title=readOnly eine Boole'sche Variable (also entweder
true
oderfalse
) und keinen String als Wert erwartet ... :-)
Ja, das war's. Dazu kam in diesem Fall noch, dass er read() nicht als Funktion erkannte, weil der Button schon diesen Namen hatte (vermute ich).
Viele Grüße,
K_22