0

次のコードを実行GETすると、Firebug コンソールにメッセージが表示されますが、変数は ですundefined。これは、変数のスコープが関数のみに制限されているためだと思います。

私の目標は、テーブルの行をクリックして、テーブルの行をクリックすると、サーバーからテーブルのレコードに関連するデータを取得し、Web フォームの一部 (すべてではない) を入力できるようにすることです。さらにデータを追加し、フォームを送信します (画像を参照)。

<tr>$id という変数を、テーブルの生成時にタグに渡された特定の行のデータ属性 ('recordID') として定義する Javascript 関数を次に示します。

Javascript:

$(document).on('click', 'tr', function() {

        //Get the ID from the row clicked
        var $id = $(this).data('recordId'); 

        //short-hand
        $('#section2').load('data_entry_form.php?id='+id);

});

data-attribute を含む PHP スニペット:

<table = "all_aifs">
<tr>
    <th><b>Document ID</b></th>
    <th><b>Pubco Name</b></th>
    <th><b>Filing Date</b></th>
    <th><b>PDF</b></th>
</tr>
<?php foreach($result as $index => $row) : ?>
<tr data-recordId="<?=$row[fee_source_id];?>"
    class="<?=$row["match"] ? "match" : "";?>">
    <td><?php echo $row[fee_source_id]; ?></td>
    <td><?php echo $row[company_name_per_sedar]; ?></td>
    <td><?php echo $row[document_filing_date]; ?></td>
    <td></td>
</tr>
<? endforeach;?>
</table>

質問:クリックした行に関連するデータを Web フォームに含めるにはどうすればよいですか? AJAXを使用する必要があると思います。また、コンソールで変数が「未定義」になっているのはなぜですか? $id 変数 (recordId) として定義する必要があると思います。

ここに画像の説明を入力

4

1 に答える 1

1

変数idを定義したことがないため、変数は未定義です。

$idnot を定義しただけidです。

于 2013-01-05T02:00:22.270 に答える