Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] .value wirft Fehler

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] .value wirft Fehler

    Hallo Community,

    ich habe mal eine Frage bezüglich JS. Meine JS-Funktion soll alle Values von den input-Fields mit dem Namen "order" auslesen. Allerdings wirft mir die Konsole immer wieder folgende Meldung ins Gesicht:

    Code:
    Uncaught TypeError: Cannot read property 'value' of undefined
    Weiß jemand wie ich an den Value komme? Jede Lösung die ich im Internet finde sieht so aus wie bei mir, nur mit dem Unterschied das es bei mir nicht klappt. Danke im voraus.

    PHP-Code:
    <script type="text/javascript">
    function 
    safe(frm)
    {
        var 
    a_o = [];
        for(
    0<= frm.order.lengthi++)
        {
            
    a_o[i] = frm.order[i].value;
        }
        
    console.log(a_o);
        
    alert("Speichern erfolgreich!");
    }
    </script> 
    PHP-Code:

    <form>
        <table>
            <tr>
                <td><input type="button" id="add" value="hinzufügen" onclick="add()"/></td>
                <td><input type="button" id="save" value="speichern" onclick="safe(this.form)"/></td>
            </tr>
        </table>
        <table id="data">
            <thead>
                <tr><td>Order</td><td>Titel</td><td>Versteckt</td></tr>
            </thead>
            <tbody>
                <?php foreach($mainmenu as $item) : ?>
                <tr>
                    <td><input type="text" name="order" size="1" value="<?php echo $item['order']; ?>" /></td>
                    <td><input type="text" name="titel" value="<?php echo $item['titel']; ?>" /></td>
                    <td><input type="checkbox" name="hidden" <?php if($item['hidden'] === 'true'){echo 'checked';} ?> /></td>
                <?php endforeach; ?>
            </tbody>
        </table>
    </form>
    - Laravel

  • #2
    tja - ein weiterer Grund, warum du keine Tabellen zum layouten von Formularen nutzen sollst - deine Schleife beackert auch die Table-Tags - und die haben kein value, weil keine Form-Elemente.

    selectiere auf die echten Form-Elemente, dann sollte das auch tun wie gewollt

    dein DOM-Baum sieht jedenfalls anders aus, wie dein Bezug "frm.order[i].value" ausdrückt
    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

    Kommentar


    • #3
      Danke für den Tipp, aber der Fehler lag daran das die Schleife <= war und somit einen Value abgreifen wollte der nicht vorhanden ist
      - Laravel

      Kommentar


      • #4
        Tabellen für's Layout zu missbrauchen ist trotzdem für die Tonne.
        [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

        Kommentar

        Lädt...
        X