Stefan E: input readonly

Hallo zusammen
Kann man mit JS das readonly attribut eines input-Feldes nicht aktivieren und deaktivieren?

  
document.forms[0].titel.readonly = false;  

funktioniert zum Beispiel nicht.

  1. Hallo Stefan,

    Hallo zusammen
    Kann man mit JS das readonly attribut eines input-Feldes nicht aktivieren und deaktivieren?

    document.forms[0].titel.readonly = false;

      
    Ja, versuche es mal mit [setAttribute()](http://de.selfhtml.org/javascript/objekte/all.htm#set_attribute)  
      
    Gruß Gernot
    
    1. Hallo Stefan,

      Ja, versuche es mal mit setAttribute()

      Gruß Gernot

      Das Problem ist ja, dass bei

        
      <input type="text" name="bla" value="irgend ein Text" readonly="false">  
      
      

      das inputfeld immer noch auf readonly steht.

      1. Hallo Stefan,

        Das Problem ist ja, dass bei

        <input type="text" name="bla" value="irgend ein Text" readonly="false">

        
        > das inputfeld immer noch auf readonly steht.  
          
        Die Lösung scheint auch sehr ungewöhnlich zu sein, aber ich glaube ich habe eine. Man muss nämlich auch mit [removeAttribute()](http://de.selfhtml.org/javascript/objekte/node.htm#remove_attribute) arbeiten. setAttribute() braucht man nur für den IE und dann darf man komischerweise den zweiten Übergabeparameter entgegen der Konvention nicht als String schreiben:  
          
        ~~~html
          
        <html>  
        <head>  
        <title>Readonly-Felder freigeben</title>  
        <script type="text/javascript">  
        [code lang=javascript]  
        function freigeben () {  
          document.form.feld.setAttribute('readonly', false, 'false');  
          document.getElementById('feld').removeAttribute('readonly');  
        }
        

        </script>
        </head>
        <body >
        <form name="form" action="" method="" target="">
        <input  id="feld" type="Text" name="feld" value="Hallo" readonly size="" maxlength="">
        </form>
        <p><a href="#" onclick="freigeben()">Feld freigeben</a></p>
        </body>
        </html>
        [/code]

        Gruß Gernot

        1. Hallo nochmal,

          es geht doch auch einfacher; es hat der zweite Übergabeparameter bei removeAttribute() gefehlt.

          function freigeben () {
            //document.form.feld.setAttribute('readonly', false, 'false');
            //document.getElementById('feld').removeAttribute('readonly');

          document.form.feld.removeAttribute('readonly', 'false');

          }

            
          Gruß Gernot
          
          1. Vielen Dank für die Antwort.
            Es funktioniert nun.

  2. document.forms[0].titel.readonly = false;

    
    > funktioniert zum Beispiel nicht.  
      
    Aus einem mr noch nciht erklärbaren Grund heißt dieses Attribut ganz entgegen den geflogenheiten: readOnly  
      
    document.form.feld.readOnly = false;  
      
    klappt bei mir im IE 6 und FF  
      
      
    Struppi.
    
    -- 
    [Javascript ist toll](http://javascript.jstruebig.de/)
    
    1. Hallo Struppi,

      document.forms[0].titel.readonly = false;

      
      > > funktioniert zum Beispiel nicht.  
      >   
      > Aus einem mr noch nciht erklärbaren Grund heißt dieses Attribut ganz entgegen den geflogenheiten: readOnly  
        
      Was dann ja auch erklärt, warum der zweite Übergabeparameter bei removeAttribute() "false" erforderlich ist.  
        
      Gruß Gernot