问题描述:
在做登录界面,因为要用到validform验证,所以需要对表单进行提交,但此时存在一个问题,因为在用submit提交后是用ajax进行的登录成功与否的判断,在判断成功后,执行ajax的success方法,但是却不执行success中的location.href=”链接” 这个页面的跳转。
$(".stu_login_error").Validform({
tiptype:function(msg,o,cssctl){
var objtip=$(".stu_error_box");
cssctl(objtip,o.type);
objtip.text(msg);},
ajaxPost:true,
});
<form action="/app/register/" method="post" class="stu_login_error" >
分析原因:
ajaxpost:表单以ajax提交时,可以在这里配置ajax的参数
参数url的优先级:form表单的action所指定的提交地址会被config.url覆盖,
config.url会被config.ajaxpost.url覆盖,config.ajaxpost.url会被Validform对象的方法submitForm(flag,url)
和ajaxPost(flag,sync,url)里的url覆盖。
如果表单里没有指定action提交地址,那么就会提交到config.url设定的地址。
考虑到整个验证框架的逻辑,传入dataType参数不会起作用,不会被覆盖,ajax必须返回含有status值的json数据。
解决方法:
取消ajaxpost提交表单的设置
$(".stu_login_error").Validform({
tiptype:function(msg,o,cssctl){
var objtip=$(".stu_error_box");
cssctl(objtip,o.type);
objtip.text(msg);},
/*ajaxPost:true,*/
});
就可以成功跳转了!!!