nimble: Formular auslesen, Nodeproblem

Hi

Irgendwie bring ichs heute nicht hin...

  
<div id=2>  
<select name="state" size="1">  
<option selected value="">offen</option>  
<option value="0">i.O.</option>  
<option value="1">erledigt</option>  
<option value="2">fehler</option>  
<option value="3">n/a</option>  
</select>  
<input type="text" name="note" class="input" onblur="setAnswer(this.parentNode)">  
<input type="hidden" name="question" value="6">  
</div>  

Das Passende JavaScript:

  
function setAnswer(theDiv)  
{  
	var state = theDiv.childNodes[0].value;  
	var note = theDiv.childNodes[1].value;  
	alert(note);  
	var ques = theDiv.childNodes[2].value;  
	alert(ques);  
}  

Aber irgendwie lande ich am falschen ort, zumindest ist note immer "undefinied" und ques ganz leer :-(

Ich hoffe dass jemand den denkfehler an diesem konstrukt sieht.

THX

--
ie:} fl:( br:> va:) ls:& fo:# rl:( n4:? ss:) de:] js:| ch:? sh:) mo:? zu:)
------------------------------
lieber ein Pinguin der läuft
als ein Fenster das hängt
------------------------------
  1. Hallo Nimble,

    <div id=2>

    <select name="state" size="1">
    <option selected value="">offen</option>
    <option value="0">i.O.</option>
    <option value="1">erledigt</option>
    <option value="2">fehler</option>
    <option value="3">n/a</option>
    </select>
    <input type="text" name="note" class="input" onblur="setAnswer(this.parentNode)">
    <input type="hidden" name="question" value="6">
    </div>

      
    DOM-Baum            Child-Nr.  
    \-------------------------------------  
    <div>  
      |  
      |-#TextNode       0  
      |  
      |-<select>        1  
      |  
      |-#TextNode       2  
      |  
      |-<input>         3 <----  
      |  
      |-#TextNode       4  
      |  
      |-<input>         5  
      |  
      `-#TextNode       6  
      
      
    Aber mache es Dir doch einfach:  
      
    ~~~javascript
    function setAnswer(theDiv){  
            var inp = theDiv.getElementsByTagName('input');  
            var sel = theDiv.getElementsByTagName('select');  
      
            alert(sel.item(0).value);  
            alert(inp.item(0).value);  
    }
    

    Gruß aus Berlin!
    eddi

    --
    Könnte bitte jemand mal langsam dafür sorgen, dass da draußen nicht dauernd die Filmrolle "Planet der Affen" abgedudelt wird? Danke!
    1. Hi

      Super, wie schnell hier immer ausführliche und hilfreiche Antworten komman. Danke!

      THX

      --
      ie:} fl:( br:> va:) ls:& fo:# rl:( n4:? ss:) de:] js:| ch:? sh:) mo:? zu:)
      ------------------------------
      lieber ein Pinguin der läuft
      als ein Fenster das hängt
      ------------------------------
  2. Aber irgendwie lande ich am falschen ort, zumindest ist note immer "undefinied" und ques ganz leer :-(

    Warum willst du hier mit childNodes arbeiten?
    Wenn es irgendeinen Grund gibt, dann musst du wenigstens prüfen, ob das Objekt das ist, was du erwartest. Zumal die Browser diese Liste unterschiedlich aufbauen.

    Ich hoffe dass jemand den denkfehler an diesem konstrukt sieht.

    Ich würde hier die ganz normalen Formularobjekten benutzen.

    Struppi.

  3. Hi,

    <div id=2>

    ergänzend zum bereits gesagten: dies ist keine gültige id - eine id kann nicht mit einer Ziffer beginnen.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.