0

送信ボタンをループで使用すると問題が発生します。

私がやろうとしているのは、データベース内のテーブルからリストを表示し、各行の横に送信ボタンを表示することです。

その行のIDをテーブルに挿入すると、私のコードは

for ($i = 0; $i <= count($all_rows)-1; $i++) {
<form>
<input type='text' id='name' value='".$all_tv_shows[$i]['id']."' />
<input type='button' value='Submit' onclick='addRecord()' />
</form>}

送信ボタンで AJAX を使用しています。したがって、送信ボタンを押すと、テーブルに挿入された値はすべて同じ値になります(表示された最後の行)

4

3 に答える 3

4

これを試して、phpタグを適切に閉じてください

<?php for ($i = 0; $i <= count($all_rows)-1; $i++) { ?>
  <form>
      <input type='text' id='name' value='".$all_tv_shows[$i]['id']."' />
      <input type='button' value='Submit' onclick='addRecord()' />
  </form>
<php } ?>
于 2012-09-11T11:36:13.653 に答える
3

PHP タグを閉じる必要があります。

<?php
    //assuming some other code first...
    for ($i = 0; $i < count($all_rows); $i++) {
    ?>
        <form>
        <input type='text' id='name' value='<? php echo$all_tv_shows[$i]['id'];?>' />
        <input type='button' value='Submit' onclick='addRecord()' />
        </form>
    <?php
    }

また、それほど重要ではありませんが、for上記のようにループを変更すると読みやすくなるかもしれません。

于 2012-09-11T11:34:38.947 に答える
-1

私は問題があなたが示したコードにあるとは思わない.問題はそのIDの上にあるaddRecord javascript関数にあるはずだ.つまり、すべての要素の「名前」....

$('#name').val();orを使用してフォームから値を取得し、document.getElementById('name'); すべての入力が同じ ID を持っていることを確認します。私が正しい場合は、addRecord 関数に値を渡し、その値を使用します。

于 2012-09-11T12:21:51.640 に答える