2016-05-21 4 views
0

htmlテーブルの行の値をPython変数に保存しようとしています。問題は、ウェブサイトのユーザーが選択するテーブルの行がわからないことです(行の選択は同じ行のボタンをクリックして行います)。ユーザーがボタンをクリックするとすぐに、行の他の値を変数に格納します。これはどうすればできますか?押されたボタンに応じて、Pythonでhtmlテーブルの値を保存する

私はこのコードを使用して、テーブルのすべての行については

<tr> 
    <td>%s</td> 
    <td>%s</td> 
    <td>%s</td> 
    <td><button id="myBtn%d">Edit Me !</button></td> 
</tr> %(line['title'], line['prod_year'], line['company'], i)` 

そして、私はこのスクリプトを使用して、すべてのボタンの:

<script> 
    document.getElementById("myBtn%d").onclick = function() { 
    location.href = "update_info"; 
    }  
</script>''' %(k) 
+0

例のコードを投稿する必要があります。たとえば、テーブル行がどのようなものか、これまでに試したことがありますか? – C14L

+0

はコード –

答えて

0

3つのステップです:データを送信、HTMLからデータを抽出しますサーバー上のデータを受信して​​ストレージに書き込むことができます。まず、あなたのテーブルがあります。その後、すべての異なる行

// Find all the buttons 
var all_btns = document.getElementsByTagName('button'); 

// Attach event handlers 
for (btn in all_btns) { 
    btn.addEventListener('click', handleMyClick); 
} 

// Handle a click event 
function handleMyClick(event) { 
    // Find the table row where the click happened 
    var tr = event.target.parentNode.parentNode; 
    // Find all the data in the row 
    var tds = tr.getElementsByTagName('td'); 
    var data = []; 
    for (td in tds) { 
     data.push(td.innerHTML); 
    } 
} 

上のボタンを「保存」のclickイベントをキャプチャJavascriptがあります今、あなたは内のすべての<td>コンテンツを持っているのは、行はこの

<tr> 
    <td>some</td> 
    <td>data</td> 
    <td>here</td> 
    <td><button>save</button></td> 
</tr> 

のように見えると仮定しましょうdataアレイ、サーバーに送信する準備が整いました。それは「AJAX」または「フォームデータ」POSTまたはGETを介して行うことができます。

次に、サーバー上で、Pythonスクリプトがその受信データを受信して​​、永続的な記憶領域に書き込む必要があります。あなたはDjangoまたはFlaskを使用していますか?データベースか簡単なテキストファイル?

+0

を追加しました。私はボトルを使用し、サイトをMySQLデータベース –

+0

に接続し、データ配列を取得するためにpostメソッドはどのように機能しますか? –

関連する問題