2016-05-18 3 views
0

Ich habe eine bearbeitbare HTML-Tabelle, und ich möchte die gesamte Tabelle als einzelne CSV-Variable an eine PHP-Seite übergeben. Die PHP-Seite wird dann die CSV analysieren und ihre Sache im Hintergrund tun. Ich möchte nicht eine einzelne Eingabe pro Tabellenzelle verwenden, weil einige meiner Tabellen groß sind und ich werde schnell von POSTing mehr als 1000 Variablen abschneiden. Aber ein CSV des Tisches ist nicht zu groß und einfach für mich, um das Backend zu analysieren.Submit HTML-Tabelle als CSV in POST

Ich suche also für ein Paket oder ein Verfahren, das eine Tabelle wie diese

<table id="thetable"> 
    <tr> 
     <td>cellA</td> 
     <td>cellB</td> 
    </tr> 
    <tr> 
     <td>cellC</td> 
     <td>cellD</td> 
    </tr> 
</table> 

und legt ihn durch POST als eine Variable nehmen, wo die resultierende Variable auf der Server-Seite so etwas wie

wäre
cellA,cellB\n 
cellC,cellD 
+0

Fragen, die uns auffordern, ein Buch, ein Tool, eine Softwarebibliothek, ein Lernprogramm oder eine andere Offsite-Ressource zu empfehlen oder zu finden, sind für Stack Overflow off-topic, da sie tendenziell rechthaberische Antworten und Spam anziehen. Beschreiben Sie stattdessen das Problem und was bisher unternommen wurde, um es zu lösen. –

Antwort

0

Werfen Sie einen Blick auf diese fiddle.

Die Implementierung ist im Grunde diese map Funktionen auf den Spalten und Zeilen. Sie können diese exportTableToCSV Funktion verwenden, um die gewünschte Zeichenfolge zu erhalten und den Download-Teil einfach zu entfernen.

0

Mein erster Gedanke ist, durch die <tr> der Tabelle zu sehen, dann innerhalb dieser Schleife, durch die <td> Werte durchlaufen. Wenn Sie nur den Wert im Inneren greifen, können Sie die .html()

verwenden Ich habe dies nicht getestet, so dass es möglicherweise etwas geändert werden muss.

Also lassen Sie uns sagen, dass Sie Ihre Tabelle eine ID von Daten-Tabelle mit einem Kommaseparator

var data = []; 

$('#data-table tr').each(function() { 
    $('td', $(this)).each(function() { 
    data.push($(this).html()); 
    }); 
}); 

Dann verbinden Sie Ihre Array geben.