montalbano: Javascript innerhalb form

Hallo,

In nachfolgendem HTML Code habe ich ein script-tag eingelagert, welches den text eines div-elements in ein verstecktes element eines Formulars überträgt, damit der Wert des div-elements schlussendlich auch mit dem Formular übertragen wird...
Irgendwie klappt das jedoch nicht. Hat jemand eine Idee was nicht klappt?

Danke & Gruss
Montalbano

  
<h1>Notes</h1>  
<form method="post" action="/notes/createNote">  
  <div id="message_area">Click me to add new note...</div>  
  <input type="hidden" value="" name="message">  
  <script type="text/javascript">document.Notes.message.value = document.Notes.message_area.value;</script>  
  <input type="submit" value="create" name="commit">  
</form>
  1. Irgendwie klappt das jedoch nicht. Hat jemand eine Idee was nicht klappt?

    Schau mal in die Fehlerkonsole.

    Struppi.

  2. hi,

    Irgendwie klappt das jedoch nicht. Hat jemand eine Idee was nicht klappt?

    Was klappt nicht? Mach das Feld mal sichtbar, dann siehst Du, ob der Klick da was Neues reinschreibt. Dann wird das auch übertragen, zumindest in dem Fall wo der Browser das Form serialisiert.

    Hotti

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  3. Irgendwie klappt das jedoch nicht. Hat jemand eine Idee was nicht klappt?

    <h1>Notes</h1>
    <form method="post" action="/notes/createNote">
      <div id="message_area">Click me to add new note...</div>
      <input type="hidden" value="" name="message">
      <script type="text/javascript">document.Notes.message.value = document.Notes.message_area.value;</script>

    1.) da ist kein Notes Objekt, kein Element, das ein attribut name="Notes" hätte.
    2.) da ist kein message_area Objekt, kein Element, das ein attribut name="message_area" hätte.
    3.) dein div hat kein value. Es hat aber childNodes[0].data oder es hat innerHtml
    4.) um ein Element mit id anzusprechen, gibt es object.getElementById()

    <input type="submit" value="create" name="commit">
    </form>

    mfg Beat
    
    -- 
    Woran ich arbeite:  
    [X-Torah](http://www.elcappuccino.ch/cgi/tok.pl?extern=1-pub-com3306-1)  
    
    ><o(((°>           ><o(((°>  
    
       <°)))o><                     ><o(((°>o  
    Der Valigator leibt diese Fische
    
    1. 3.) dein div hat kein value. Es hat aber childNodes[0].data oder es hat innerHtml

      Er will kein DIV ansprechen.

      Struppi.

      1. 3.) dein div hat kein value. Es hat aber childNodes[0].data oder es hat innerHtml

        Er will kein DIV ansprechen.

        Nein, er will daraus auslesen. Same Problem!

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
    2. Alles klar, besten Dank. Mit folgendem Code hats geklappt:

      <script type="text/javascript">document.getElementById('message').value = document.getElementById('message_area').innerHTML;</script>

      Irgendwie klappt das jedoch nicht. Hat jemand eine Idee was nicht klappt?

      <h1>Notes</h1>
      <form method="post" action="/notes/createNote">
        <div id="message_area">Click me to add new note...</div>
        <input type="hidden" value="" name="message">
        <script type="text/javascript">document.Notes.message.value = document.Notes.message_area.value;</script>

      1.) da ist kein Notes Objekt, kein Element, das ein attribut name="Notes" hätte.
      2.) da ist kein message_area Objekt, kein Element, das ein attribut name="message_area" hätte.
      3.) dein div hat kein value. Es hat aber childNodes[0].data oder es hat innerHtml
      4.) um ein Element mit id anzusprechen, gibt es object.getElementById()

      <input type="submit" value="create" name="commit">
      </form>

      
      > mfg Beat
      
      1. Mahlzeit montalbano,

        Alles klar, besten Dank. Mit folgendem Code hats geklappt:

        <script type="text/javascript">document.getElementById('message').value = document.getElementById('message_area').innerHTML;</script>

        In welchem Browser? Ich sehe in Deinem Code kein einziges Element, das die ID "message" besitzt.

        Beschränke Funktionstest *NIEMALS* nur auf einen einzigen Browser (und wenn, dann nicht auf IrgendEin Browser-Imitat aus Redmond), ansonsten wirst Du keine brauchbare Aussage darüber treffen können, ob etwas "funzt" oder nicht.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  4. @@montalbano:

    nuqneH

    In nachfolgendem HTML Code habe ich ein script-tag eingelagert, welches den text eines div-elements in ein verstecktes element eines Formulars überträgt, damit der Wert des div-elements schlussendlich auch mit dem Formular übertragen wird...

    Was soll das eigentlich? Warum schreibst du den Text nicht gleich ins @value-Attribut des versteckten input-Elements?

    Und warum ist das Ding überhaupt versteckt, wenn du den Text doch anzeigen willst?

    Setz das Feld auf http://de.selfhtml.org/html/formulare/eingabe.htm#nurlesen@title=readonly und nimm ihm mit CSS seinen Rahmen. Das div[@id="message_area"] ist dann völlig überflüssig.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)