【发布时间】:2013-09-05 12:45:29
【问题描述】:
我有一个简单的表单,jquery 在我的表单中添加了无限的输入字段。问题是当 jquery 添加一个字段时,它实际上并没有在提交时发布任何值。任何想法如何调试这个?这是我的代码:
<script src="../orders/src/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var addDiv = $('#addinput');
var i = $('#addinput p').size() + 1;
$('#addNew').live('click', function() {
$('<p><input type="text" id="p_new" size="40" name="item[]" value="" placeholder="Input here" /><a href="#" id="remNew">Премахни</a> </p>').appendTo(addDiv);
i++;
return false;
});
$('#remNew').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});
</script>
<form action="add-exe.php" method="post">
<div id="addinput">
<p>
<a href="#" id="addNew">Add line</a>
</p>
<input type="submit" value="Запази">
</div>
</form>
这是一个简单的 php 端,它试图读取添加到数组中的内容。到目前为止,通过 Jquery 添加的字段没有通过
$itemlist = count($_POST['item']) ? $_POST['item'] : array();
print_r(array_values($itemlist));
如果输入字段不是动态添加的 - 表单发布数组就好了
【问题讨论】:
-
live已弃用,请改用on -
@FezVrasta 这个名字有 [] 这意味着一个数组完全可以被 PHP 接受
-
我能够获取附加到 div 的项目的值。
-
@Noob 你可以在 add-exe.php 上显示代码并向我们展示你是如何尝试获取这些值的
-
您需要给每个输入一个不同的 ID(或者不要给他们任何 ID,因为它可能不需要)。不允许使用重复的 ID,这可能会导致问题。
标签: php javascript jquery forms input