我有一个相当简单的jquery移动表单。我使用提交处理程序来执行ajax .serialize()方法。
我的js:
$( document ).ready(function() {
$("#myForm").validate({
rules: { ...
,
submitHandler: function(form) {
$.ajax({
data: $("#myForm").serialize(),
type: form.method,
crossDomain: true,
url: "userInfo.php",
success: function(data) {
alert("Data Save: " + data);
}
});
}
});
});
使用以下php将数组存储在mysql数据库中。
$work_date = $_POST["work_date"];
$name = $_POST["name"];
$add_members = $_POST["add_members"];
…
$sql = "INSERT INTO user ". "(work_date,name,add_members,jobnumber,st_time,end_time,st_mileage,end_mileage,work_type,instrument,per_diem,atv_no,comments,date) ". "VALUES('$work_date','$name','$add_members','$jobnumber','$st_time','$end_time',st_mileage=" . (!$st_mileage ? 'NULL' : (int)$st_mileage) . ",end_mileage=" . (!$end_mileage ? 'NULL' : (int)$end_mileage) . ",'$work_type','$instrument','$per_diem','$atv_no','$comments',NOW())";
$ _POST []变量当然对应于表单中每个元素的name属性。除了下图中的“附加”字段外,这对所有人都有效。
此字段是动态jquery listview(可选字段),其中li元素仅在添加到表单时才存在。这使我无法在序列化表单之前将name属性分配给li元素。有人请指教我在序列化数组中正确包含这些元素并因此存储到db?