1

そのため、以前に何百ものフォームを作成しましたが、すべて問題はありませんでしたが、何らかの理由で、これは機能していないようです。このフォームは、後でより大きな Web アプリケーションにプラグインするための初期段階にあります。コードを何度もチェックしたり、PHP が正しく機能しているかどうかをチェックしたりしましたが、問題を解決できませんでした。

問題は、PHP からフォーム内のデータにアクセスできないことです。さらに、フォームが投稿されると、フォーム データが URL に追加されません。代わりに私はただ得るwww.example.com/list.php?

何かを見落としていることを願っていますが、他に考えられる唯一のことは、JQuery と関係があるということです。私のコードを見て、明らかなエラーがないかどうかを確認していただければ、本当に感謝しています。

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>list</title>

  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
  <script>
  $(window).load(function(){
    var counter = 1;

  $('button.remove').click(function(){
    if(counter >= 1){
       $("#cnt" + counter).remove();
       counter--;
       $('#count').attr('value', counter);
    }
  });

  $('button.add').click(function(e){
    e.preventDefault();
    counter++;
$('#count').attr('value', counter);

    var newData = '<tr style="display:none" id="cnt' + counter + '"><td><input type="text" value="Content' + counter + '"/></td></tr>';
    $(newData).appendTo('#myTable').fadeIn('slow').slideDown('slow');
   });
   });  
   </script>
   </head>

   <body>
<button class="add"> + </button><button class="remove"> - </button>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">

  <table id="myTable">
    <tr>
          <td><input type="text" value="Content1" id="cnt1" /></td>
           </tr>
  </table>

    <input type="hidden" id="count" value="10" />
    <input type="submit" value="Submit" />
   </form>

<?php
echo $_GET['count'];
?>

</body>
</html>
4

3 に答える 3

2

入力フィールドの「NAME」属性を省略しました....

ID 属性は name 属性を置き換えません

于 2013-03-19T15:51:24.113 に答える
1

さて、これは次のようないくつかの変更を加えた後、私にとってはうまくいきます-

<td><input type="text" value="Content1" id="cnt1" name="some[]" /></td>

動的に追加nameされるため、配列に追加されます。

そして、スクリプトから次の行を変更しました-

var newData = '<tr style="display:none" id="cnt' + counter + '"><td><input type="text" value="Content' + counter + '"/></td></tr>';

var newData = '<tr style="display:none" id="cnt' + counter + '"><td><input type="text" value="Content' + counter + '" name="some[]"/></td></tr>';

print_r($_GET)印刷中、テキストフィールドは配列になるため、代わりに使用する必要があります echo $_GET;

name=some[]上記の行に追加しただけです。

nameテキスト フィールドに属性が記載されていません。

于 2013-03-19T15:51:37.893 に答える
0

おっと、あなたは :) を逃しname='count'まし<input type='hidden'>

于 2013-03-19T15:47:11.100 に答える