HTML/JQuery表单不发送到PHP


HTML/JQuery form not posting to PHP

所以我已经建立了数百个表单之前,都没有问题,但由于某种原因未知的我这一个似乎不工作。这个表单还处于初级阶段,以后将被插入到更大的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>

您遗漏了输入字段的"NAME"属性....

ID属性不能代替name属性

嗯,在做了一些更改之后,这对我来说是有效的-

<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属性

哎呀,你错过了<input type='hidden'>中的name='count':)最优秀的人也会遇到这种事