Wie nehmen Sie die Werte aus einer HTML-Tabelle die Zellen mit JavaScript

Ich versuche zu greifen, die Zelle Werte aus einer HTML-Tabelle, so dass ich Sie retten kann in eine MySQL-Tabelle über einen Aufruf von PHP. Ich möchte mit JavaScript statt jQuery.

Gebe ich jeder TR eine eindeutige ID auf Basis der MySQL-Tabelle, das ID-Feld. Auch jeder TD input-Zelle hat eine eindeutige ID auf Basis der MySQL-Tabelle, das ID-Feld. Nicht sicher, ob ich es brauchen, aber ich habe Sie.

Wie kann ich schnappe mir den Wert der Zelle, so dass ich übergeben Sie es an eine PHP-Prozedur(ich weiß, wie ich code das PHP), die Daten zu speichern in MySQL? Mein JavaScript-code unten, schnappt sich den "innerHTML" aber ich brauche, um zu greifen, der Wert der Zelle statt.

Zum Beispiel, wenn ich 3 Zeilen von Daten aus einer MySQL-Tabelle mit Feldern id und Menge, mit Werten unter, wie kann ich schnappe mir die "3" und die "1.99"?:

id    amount
-------------
1     100.00
2     9.99
3     1.99

Hier ist ein Beispiel für die PHP - /HTML-code für die Tabelle, submit-button und onclick-Aufruf:
(dies ist eine sehr vereinfachte version meines eigentlichen code sollte aber vermitteln)

<?php
    /* define mysql database connect, query and execute it returning result set into $result, id=integer primary key, is_active=tinyint(0 or 1), amount=decimal(12,2) */
    /* ... */    
    /* output form/table */
    echo "<form id='myform' name='myform' >" ;    
        echo "<table id='mytable' name='mytable'>" ;
            while($row = mysql_fetch_array($result))
            {
                $id                 = $row['id'] ;
                $amount             = $row['amount'] ;                
                $tr_id              = "tr_id_" . trim((string)$id) ;                                                
                $td_id              = "td_id_" . trim((string)$id) ;  
                $td_amount_id       = "td_amount_id_" . trim((string)$id) ;                 
                $input_amount_id    = "input_amount_id_" . trim((string)$id) ;
                echo "<tr id='$tr_id' name='$tr_id'>";
                    echo "<td id='$td_id_account' > $id </td>" ; 
                    echo "<td id='$td_amount_id' > <input type='text' id='$input_amount_id' value=$amount > $amount </td>" ;             
                echo "</tr>";
            }
        echo "</table>";
    echo "</form>" ; 
    /* submit button and onclick call */
    echo "<br />" ;
    echo "<table>";
        echo "<tr>" ;
            echo "<td>";
                echo "<button type='button' " . 'onclick="SubmitTableData(\'' . "mytable" .'\');"' . ">Submit</button>" ;
            echo "</td>" ;
        echo "</tr>";
    echo "</table>";         
?>

Und hier ist eine Probe meiner JavaScript-Funktion verwendet, um eine Schleife durch die Zeilen der HTML-Tabelle:

function SubmitTableData(TableID)
{
    var table = document.getElementById(TableID);
    for (var i = 0, row; row = table.rows[i]; i++) 
    {
       //iterate through rows
       for (var j = 0, col; col = row.cells[j]; j++) 
       {
         //iterate through columns
            alert(col.innerHTML);
       }  
       /* call PHP procedure with row's cell values as parameters */
       /* ... */
       break;
    }
} 
Warum machst du das? Gibt es eine einfachere Möglichkeit das zu tun, was Sie versuchen zu erreichen. Außerdem poste bitte die generiertes HTML für die Tabelle, nicht die php, die Sie erzeugt.
Meine Augen.. das sieht furchtbar kompliziert ohne Grund

InformationsquelleAutor Elliot | 2012-10-25

Schreibe einen Kommentar