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