Raik: DOCTYPE = XHTML

Hallo!

folgendes script (ausschnitt) arbeitet im firefox mit doctype "HTML 4.01" korrekt, aber liefert mit doctype "xhtml" falsche werte, so dass die textarea immer weiter vergrössert wird:

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

  
var TA = document.getElementsByTagName('TEXTAREA')[0];  
function startRSZ(){  
TA.addEventListener('mousedown', this.startMOV, true);  
}  
function startMOV(e){  
document.addEventListener('mousemove', resizeTA.resizeTA, true);  
TAw = e.pageX;  
TAh = e.pageY;  
window.addEventListener('mouseup', resizeTA.stopMOV, false);  
}  
  
function resizeTA(e){  
TA.style.width = parseInt(TA.offsetWidth) + (e.pageX - TAw)+'px';  
TAw = e.pageX;  
TA.style.height = parseInt(TA.offsetHeight) + (e.pageY - TAh)+'px';  
TAh = e.pageY;  
  }  

freundl. Grüsse aus Berlin, Raik

--
Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
Resizeable Textarea 0.1a
  1. Hallo!

    da fehlte ja noch der titel, sorry.

    wieso kann ich verdammt noch mal den beitrag nicht absenden? wieso komm ich immer wieder hier zum editieren, wenn ich nachricht absenden clicke???

    PS: hab herausgefunden, dass style.width/height und offsetWidth/Height unter xhtml unterschiedliche werte zurückgeben.

    freundl. Grüsse aus Berlin, Raik

    --
    Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
    Resizeable Textarea 0.1a
    1. Hallo Raik.

      wieso kann ich verdammt noch mal den beitrag nicht absenden? wieso komm ich immer wieder hier zum editieren, wenn ich nachricht absenden clicke???

      In einem solchen Fall hat die hiesige Software normalerweise noch etwas an deinem Posting auszusetzen.

      Einen schönen Samstag noch.

      Gruß, Mathias

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

        wieso kann ich verdammt noch mal den beitrag nicht absenden? wieso komm ich immer wieder hier zum editieren, wenn ich nachricht absenden clicke???

        In einem solchen Fall hat die hiesige Software normalerweise noch etwas an deinem Posting auszusetzen.

        hatte sie auch, nur hatte sie mir das nicht mitgeteilt. :-D ist aber inzwischen im bugtracker eingetragen.

        freundl. Grüsse aus Berlin, Raik

        --
        Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
        Resizeable Textarea 0.1a
        1. Hallo!

          so, die lösung kopier ich einfach mal dazwischen:

            
          
          > var TA = document.getElementsByTagName('TEXTAREA')[0];  
          > function startRSZ(){  
          > TA.addEventListener('mousedown', this.startMOV, true);  
          > }  
          > function startMOV(e){  
          > document.addEventListener('mousemove', resizeTA.resizeTA, true);  
          > TAw = e.pageX;  
          > TAh = e.pageY;  
          
          if(!e.target.style.width){  
          var w = e.target.offsetWidth;  
          e.target.style.width = w + 'px';  
          e.target.style.width += (w + e.target.offsetWidth);  
          }  
          if(!e.target.style.height){  
          var h = e.target.offsetHeight;  
          e.target.style.height = h + 'px';  
          e.target.style.height += (h + e.target.offsetHeight);  
          }  
          
          > window.addEventListener('mouseup', resizeTA.stopMOV, false);  
          > }  
          
          

          jetzt lässt sich statt offsetWidth style.width verwenden und das ganz so verkürzen:

            
          
          > function resizeTA(e){  
          
          TA.style.width = parseInt(TA.style.width) +  (e.pageX - TAw) + 'px';  
          
          > TAw = e.pageX;  
          
          TA.style.height = parseInt(TA.style.height) +  (e.pageY - TAh) + 'px';  
          
          > TAh = e.pageY;  
          > }  
          
          
          --
          Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
          Resizeable Textarea 0.1a
  2. Hallo Raik

    var TA = document.getElementsByTagName('TEXTAREA')[0];

      
    Also ich würde mal sagen, dass es in XHTML keine TEXTAREA gibt, sondern eher textarea.  
      
      
    Auf Wiederlesen  
    Detlef  
    
    -- 
    - Wissen ist gut  
    - Können ist besser  
      
    - aber das Beste und Interessanteste ist der Weg dahin!
    
    1. Hallo, Detlef!

      Also ich würde mal sagen, dass es in XHTML keine TEXTAREA gibt, sondern eher textarea.

      die "nicht vorhandene" "TEXTAREA" wird aber trotzdem resized von dem script, also ist ihm gross und kleinschreibung wohl doch nicht so wichtig.
      allerdings unterscheiden sich unter xhtml die werte von style.width und offsetWidth, was das unerwartete verhalten erklärt. jetzt muss ich dafür nur noch eine lösung finden.

      freundl. Grüsse aus Berlin, Raik

      --
      Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
      Resizeable Textarea 0.1a
      1. Hallo Raik

        allerdings unterscheiden sich unter xhtml die werte von style.width und offsetWidth, was das unerwartete verhalten erklärt. jetzt muss ich dafür nur noch eine lösung finden.

        Dann verwende doch in resizeTA() ausschließlich style.width.

        Auf Wiederlesen
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
        1. Hallo, Detlef!

          Dann verwende doch in resizeTA() ausschließlich style.width.

          das dachte ich mir auch schon ;-)
          nur scheint zumindest diese schreibweise unter xhtml nicht erlaubt zu sein. ich erhalte zumindest keinen wert.

          freundl. Grüsse aus Berlin, Raik

          --
          Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
          Resizeable Textarea 0.1a
          1. Hallo Raik

            ... ich erhalte zumindest keinen wert.

            Hast du denn einen Wert gesetzt?

            Auf Wiederlesen
            Detlef

            --
            - Wissen ist gut
            - Können ist besser
            - aber das Beste und Interessanteste ist der Weg dahin!
  3. Hallo Raik,

    --
    Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.

    wieso das denn? Einen Command Line FTP Client hat doch nahezu jedes OS, sogar Windows. Und das genügt doch schon!

    Schönen Abend noch,
     Martin

    --
    Die meisten Menschen werden früher oder später durch Computer ersetzt.
    Für manche würde aber auch schon ein einfacher Taschenrechner genügen.
    1. habe d'ehre Der

      --
      Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.

      wieso das denn? Einen Command Line FTP Client hat doch nahezu jedes OS, sogar Windows. Und das genügt doch schon!

      Ansonsten hilft auch ein Zeitschriftenladen oder eine Tankstelle aus. ;-)

      man liest sich
      Wilhelm