Pain: Textarea Attribute mit Javascript setzen

Hallo,

Ich möchte Rows und Cols einer Textarea über Javascriptvariablen setzen (da ich mehrere TA mit den gleichen Maßen habe).

Warum geht das nicht:

<html>
<head></head>

<script type="text/javascript">
 var twidth = 110; //Variable für Spaltenanzahl der Textareas
 var theight = 10;//Variable für sichtbare Zeilenanzahl
</script>

<body>

<TABLE border="1" cellspacing="0" cellpadding="0" rules="rows">
     <tr>
  <td><textarea name="ta" cols=twidt rows=theight></textarea></td>
        </tr>
      </table>

</body>

</html>

Besten Dank

pain

  1. Hallo Pain.

    Ich möchte Rows und Cols einer Textarea über Javascriptvariablen setzen (da ich mehrere TA mit den gleichen Maßen habe).

    Warum geht das nicht:

    Weil dir die Funktionsweise von JS noch nicht geläufig ist.

    <html>
    <head></head>

    <script type="text/javascript">
    var twidth = 110; //Variable für Spaltenanzahl der Textareas
    var theight = 10;//Variable für sichtbare Zeilenanzahl
    </script>

    Hier definierst du zeitweise zwei Variablen. Du könntest nun darauf zugreifen, tust es aber nicht.

    <td><textarea name="ta" cols=twidt rows=theight></textarea></td>

    Du kannst nicht erwarten, dass der Browser automatisch weiß, dass du mit diesem HTML-Code bezweckst, JS-Code auszuführen. Du möchtest also in deinem Scriptbereich eher so etwas nutzen:

    <script type="text/javascript">  
      
    [code lang=javascript]  window.onload = function() { // Beim Fertigladen des Dokumentes  
      
        var t = document.[ref:self812;javascript/objekte/document.htm#get_elements_by_tag_name@title=getElementsByTagName]('textarea')[0]; // Referenz auf Textarea beschaffen  
      
        // Die entsprechenden Attribute ändern  
        t.[ref:self812;javascript/objekte/htmlelemente.htm#textarea@title=cols] = 110;  
        t.[ref:self812;javascript/objekte/htmlelemente.htm#textarea@title=rows] = 10;  
      };
    

    </script>[/code]

    Solltest du noch mehr vorhaben, solltest du dich zuerst mit den funktionellen <http://de.selfhtml.org/javascript/intro.htm@title=Grundlagen von JavaScript> befassen und wie es in Dokumenten genutzt werden kann.

    Einen schönen Montag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
  2. Liebe(r) Pain,

    Warum geht das nicht:
    var twidth = 110; //Variable für Spaltenanzahl der Textareas
    var theight = 10;//Variable für sichtbare Zeilenanzahl
      <td><textarea name="ta" cols=twidt rows=theight></textarea></td>

    weil Du HTML mit JavaScript vermischst. Du kannst im HTML-Code keine JavaScript-Variablen eintragen und davon ausgehen, dass das so passt. Laut Spezifikation Deines verwendeten Doctypes müssen die Attributwerte von cols und rows ganzzahlige positive Werte oder 0 sein. Dein Code ist Müll.

    Du kannst aber ein Script anweisen, sich eine Textarea zu schnappen, und ihr diese Werte zu verleihen. Jetzt stellt sich nur die Frage, ob Du das für alle Textareas identisch haben möchtest, oder ob jede Textarea individuell behandelt werden soll...

    Und was hindert Dich daran, diese Werte fest ins HTML zu schreiben? Und warum möchtest Du solche layouttechnischen Dinge nicht über CSS lösen?

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  3. Hi,

    besten Dank für die schnellen Antworten. Bei meiner Seite handelt es sich um eine JSP und dort habe ich das mittlerweile erfolgreich so gelöst:

    ...
    <%!
     // Variablendeklaration für Textareas
     int cols=110;
     int rows=10;
    %>
    ...
    <textarea id="S02_011" name="S02_011" cols="<%= cols %>" rows="<%= rows%>"></textarea></td>
    ...

    Funzt prima. Und genau das gleiche habe ich als Javascript gesucht. War der festen Überzeugung das es hier auch ein Tag oder eine Maskierung gibt um Javascriptvariablen in HTML einzubetten. Das war der eigentliche Hintergrund der Frage.

    Besten Dank nochmal

    pain

    1. Hi,

      War der festen Überzeugung das es hier auch ein Tag oder eine Maskierung gibt um Javascriptvariablen in HTML einzubetten.

      Ja, gab/gibt es. Wird aber von den meisten Browsern nicht unterstützt ...

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!