我有一个php页面,其中包含一个排列在表格中的输入框数组。每行包含有关基金每个成员的信息。不同的栏目涉及他们在不同的领导下支付的款项。我想用它来更新包含成员的mysql表'账户。如何制作一个数组并使用jquery发送帖子请求?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript" src="js/jquery-ui-1.10.4.custom/js/jquery-1.10.2.js"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery.validator.setDefaults({
submitHandler: function () {
//create an array of values in each row
jQuery.post("scripts/update.php", {
//send array to the script
}, function (data) {
alert(data);
});
}
});
</script>
</head>
<body>
<form id="form1" name="form1" action="">
<table><tr><th>Mem No.</th><th>Subcription</th><th>Loan</th><th>Interest</th></tr>
<tr><td>
<input type="text" id="memberno1" value="1001"/></td><td><input type="text" id="sub1" /></td><td><input type="text" id="loan1"/></td><td> <input type="text" id="int1" /></td></tr>
<tr><td>
<input type="text" id="memberno2"value="1002" /></td><td><input type="text" id="sub2" /></td><td><input type="text" id="loan2"/></td><td> <input type="text" id="int2" /></td></tr>
<tr><td>
<input type="text" id="memberno3" value="1003"/></td><td><input type="text" id="sub3" /></td><td><input type="text" id="loan3"/></td><td> <input type="text" id="int3" /></td></tr>
<tr><td>
<input type="text" id="memberno4" value="1004"/></td><td><input type="text" id="sub4" /></td><td><input type="text" id="loan4"/></td><td> <input type="text" id="int4" /></td></tr>
<tr><td>
<input type="text" id="memberno5" value="1005"/></td><td><input type="text" id="sub5" /></td><td><input type="text" id="loan5"/></td><td> <input type="text" id="int5" /></td></tr>
<tr><td>
<input type="text" id="memberno6" value="1006"/></td><td><input type="text" id="sub6" /></td><td><input type="text" id="loan6"/></td><td> <input type="text" id="int6" /></td></tr>
<tr><td>
<input type="text" id="memberno7" value="1007"/></td><td><input type="text" id="sub7" /></td><td><input type="text" id="loan7"/></td><td> <input type="text" id="int7" /></td></tr></table>
<input type="submit" valueue="Save" id="submit"/>
</form>
</html>
答案 0 :(得分:0)
好吧,遍历所有表行,并迭代所有输入字段:
var arr = $('#form1 tr:gt(0)').map(function() {
return [$('input', this).map(function() {
return this.value;
}).get()];
}).get();
有一点需要注意,你必须依赖每个领域的顺序。
答案 1 :(得分:0)
您需要创建一个空的array
并将每个输入推送到那里,然后将其用于POST。像这样:
jQuery.noConflict();
jQuery.validator.setDefaults({
submitHandler: function () {
var inputArray = [];
$('#form').find('input[type=text]').each(function() {
// get the value or something from each input
inputArray.push($(this).val());
})
//create an array of values in each row
jQuery.post("scripts/update.php", {
'inputs' : inputArray //send array to the script
}, function (data) {
alert(data);
});
}
});
您应该将inputs
作为包含输入文本值的数组。希望有所帮助
答案 2 :(得分:0)
使用jQuery.post(url,data,callback)
通过使用序列化,您可以自动发送整个表单。
jQuery.post("scripts/update.php",
$("form#form1").serialize(),
function (data) {
alert(data);
});
答案 3 :(得分:0)
$.ajax({
url: 'ajax-post-url.php',
type: 'POST', // or GET method
dataType: 'json',
data: $('.form').serialize(), // all data
success: function(response) {
console.log(response);
}
});
或
$.post('ajax-post-url.php', $('.form').serialize(), function(response) {
console.log(response);
});