jquery 验证remote参数值前面多了逗号,之问题
jquery验证remote参数值前面多了,之问题解决
最近用jquery框架的remote验证:参数到了后台,参数值前面多了个,;
email:{required:true,
maxlength:60,
myemail:true,
remote:"${ctx}/register/register/checkEmailIsUsed.do?email="+$('#email').val()},
一开始是这样的格式,结果,前台传值"[email protected]"到后台就成了",[email protected]",前面多了个“,”,查了些资料,换了个方式:
email:{required:true,
maxlength:60,
myemail:true,
remote:{url:"${ctx}/register/register/checkEmailIsUsed.do",
data:{email:$('#email').val();}
}
},
这样到了后台,参数值成为"";最后参阅资料,换如下方式:
email:{required:true,
maxlength:60,
myemail:true,
remote:{url:"${ctx}/register/register/checkEmailIsUsed.do",
data:{email:function(){return$('#email').val();}}
}
},
这样就OK了。
当然,格式更完善些的是这样:
remote:{
url:"/nameServlet",//后台处理程序
type:"get",//数据发送方式
dataType:"json",//接受数据格式
data:{//要传递的数据
email:function(){
return$("#email").val();
}
}
为什么要这样来传递参数,没时间去研究源码,先知道可以这样处理吧,