Kerstin_22: getElementById "funktioniert" nicht

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

  1. function aendern(param){
      document.getElementById("t").nodeValue = param;

    Wo hast du nodeValue her?
    Du suchst value

    Struppi.

    1. function aendern(param){
        document.getElementById("t").nodeValue = param;

      Wo hast du nodeValue her?
      Du suchst value

      Struppi.

      Ich dachte nodeValue sei was ich suchte. Ich habe mich geirrt. ;-)

      Gruß,

      K_22

  2. 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

    --
         *®*´¯`·.¸¸.·
    1. 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

      --
           *®*´¯`·.¸¸.·
      1. 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

    2. 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

      1. 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

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. 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 oder false) 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