Dieter Raber: Inhalt einer Textarea auslesen

Hallo,

Ich habe hier ein kleines Problem mit einer Textarea:

<textarea name="prodname" onkeypress="adjustSize(this)">Nom du produit</textarea>

die Funktion geht so:

  
function adjustSize(sender) {  
  alert(sender.innerHTML)  
  var nlArr = sender.innerHTML.match(/\x0A/g); //ich hatte hier auch schon \n  
  if(nlArr)  {  
    alert(nlArr.length);  
  }  
}  

Mein Problem ist, dass das erste alert() immer 'Nom du produit' ausgibt, d.h. meine Eingaben nicht beruecksichtigt werden

Im Endeffekt will ich wissen, wieviele harte Zeilenumbrueche mein Text enthaelt, villeicht geht das ja auch eleganter.

Gruß,

Dieter

  1. Ich grüsse den Cosmos,

    alert(sender.innerHTML)

    IMO sollte das alert(sender.value) heissen. Ob es dein Problem löst kann ich nicht sagen.

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
  2. Moin

    um den Inhalt des textarea anzusprechen nutze sender.value

    Gruß
    rfb

  3. Hallo Dieter.

    Hallo,

    Ich habe hier ein kleines Problem mit einer Textarea:

    <textarea name="prodname" onkeypress="adjustSize(this)">Nom du produit</textarea>

    die Funktion geht so:

    function adjustSize(sender) {
      alert(sender.innerHTML)
      var nlArr = sender.innerHTML.match(/\x0A/g); //ich hatte hier auch schon \n
      if(nlArr)  {
        alert(nlArr.length);
      }
    }

      
    Warum arbeitest du innerhalb einer Textarea mit innerHTML, wo doch darin sowieso kein HTML enthalten sein kann?  
      
    
    > Mein Problem ist, dass das erste alert() immer 'Nom du produit' ausgibt, d.h. meine Eingaben nicht beruecksichtigt werden  
      
    Offenbar wird innerHTML nicht aktualisiert, warum auch immer.  
      
    
    > Im Endeffekt will ich wissen, wieviele harte Zeilenumbrueche mein Text enthaelt, villeicht geht das ja auch eleganter.  
      
    Mein Vorschlag:  
      
    ~~~javascript
    function adjustSize(sender) {  
      
      var count = -1, pos = -1;  
      
      do {  
      
        ++count;  
        pos = sender.value.indexOf('\n', pos);  
      
      } while (pos++ != -1);  
      
      alert(count);  
    }
    

    Einen schönen Freitag noch.

    Gruß, Mathias

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    debian/rules
  4. Hallo,

    Danke fuer alle Antworten, sender.value loest das Problem. Haette ich ja auch selbst mal draufkommen koennen...

    Gruß,

    Dieter