我正在尝试读取输入数组的值并将它们传递给我的后端PHP,但是我无法使其正常工作。 我有以下html:
<input name='field[]' class='myclass' value='test1'>
<input name='field[]' class='myclass' value='test2'>
<input name='field[]' class='myclass' value='test3'>
<input id='post_this_val' type='button' value='Post'>
我想在jQuery中读取这些值并将值发布到我的后端PHP,然后PHP将处理结果。这就是我的工作:
$('#post_this_val').live('click', function () {
var inpVal = $('input.myclass').map(function(i, el) {
return el.value;
});
$.post('/my/php/function', {data: inpVal});
});
上面的POST不起作用 - 我的php函数甚至没有被调用,页面只是在单击POST按钮时重新加载。建议请。
答案 0 :(得分:4)
获取表单值的最简单方法是将这些输入包装在表单中,绑定提交事件,并使用.serialize()
方法。使用此方法的好处是,如果您有一个带有输入类型文本和提交的表单,无论用户是使用回车提交,还是单击提交按钮,处理程序仍将被调用。
HTML:
<form id="myForm">
<input name='field[]' class='myclass' value='test1'>
<input name='field[]' class='myclass' value='test2'>
<input name='field[]' class='myclass' value='test3'>
<input id='post_this_val' type='button' value='Post'>
</form>
JS:
$('#myForm').live('submit', function(e) {
$.post('/my/php/function', $(this).serialize());
e.preventDefault();
return false;
});
答案 1 :(得分:0)
为了增加andreas的好答案,有时,复杂的问题是由最简单的错误引起的。
检查语法和所有内容后,我建议您安装Firebug以检查确切的内容。
在Firebug的网络面板上,您可以看到帖子是否成功以及是否有回复。
在这种情况下,错误可能是从URL到拼写错误的变量拼写不正确的几个方面。
Firebug将帮助识别这些错误,无论原因如何。
希望这有帮助!
祝你好运!