一、发生的问题
二、出现问题的可能原因
说一下我遇到这种问题的原因:
①用serialize()时,忘了写小括号;
②尚不明确。
哪怕在表单的提交事件里添加了“return false”语句,问题依旧存在。
三、 解决问题的必杀技
放弃表单提交数据的方式,把提交按钮变成普通的按钮,即把input标签的type属性的值改为“button”,给这个普通的button添加一个回调函数,如下所示:
<input type="button" onclick="updateInfo()" value="确认修改">
回调函数updateInfo()的代码如下所示:
function updateInfo()
{
var id=$("#id").val();
var name=$("#name").val();
var shuiwei=$("#shuiwei").val();
var chaoguo=$("#chaoguo").val();
var zhuangtai=$("#zhuangtai").val();
var caijiriqi=$("#caijiriqi").val();
$.get("../UpdateWaterLevelData",{id:id,name:name,shuiwei:shuiwei,chaoguo:chaoguo,zhuangtai:zhuangtai,caijiriqi:caijiriqi} ,function (data)
{
alert(data.msg);
});
}
挨个取出输入框中的值(作为请求参数的值),这样可能会略显麻烦,但是有时候不得不这样做。比如有一次我发现在提交表单时,下拉列表中的数据无法被序列化serialize出来。也就是这时不能用序列化serialize()方法了,只能挨个把输入框中的值取出来。