我正在尝试使用jquery提交表单,我不确定为什么表单总是空的。我只是在一个表单中运行一个while循环,并有一组具有不同名称的输入,我想在div标签“karma”中打印它的值。
编辑:我想在每次点击按钮时打印出整个表格。
这是index.php文件
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
function get() {
var data = $('forma').serialize();
console.log(data);
$.post('data.php', data,
function(output) {
$('#karma').html(output).show();
});
}
</script>
</head>
<body>
<div id="karma"></div>
<form name="forma">
<?php
$x = 5;
while ($x) {
?>
<?php
echo "<input type='hidden' name='listid_". $x ." ' value=" . $x . ">";
$x = $x - 1;
?>
<input type="button" name='butid_<?php echo $x; ?>' value="Get" onClick="get();">
<?php
}
?>
</form>
<!-- <input type="hidden" name="listid" value="HELO"> -->
</body>
</html>
这是data.php文件
<?php
echo "geki";
var_dump($_POST);
?>
我很感激帮助。谢谢。
答案 0 :(得分:1)
forma
不是默认的html元素。您必须使用正确的ID设置。
更改
var data = $('forma').serialize();
到
var data = $('#forma').serialize();
和
<form name="forma">
到
<form id="forma">
答案 1 :(得分:0)
这是你的问题:
$('forma')
这不是元素或元素的id,如果你试图通过它的名字来获取元素,那么这就是为什么你不能用jQuery选择器找到它
但如果你把它改为:
var data = $('form[name='forma']).serialize();
您将能够通过名称
引用元素或者如果在表单中添加一个id字段,那么使用jQuery按id获取元素:
<form name="forma">
var data = $('#forma').serialize();
那应该有用