JQuery表单保持ajax指示器打开并赢得&x27;不要屈服
我使用jQuery1.3验证表单并将其提交到PHP页面,该页面将JSON编码服务器响应以显示在原始表单页面上 我尝试过在没有JQuery部分的情况下提交表单,一切似乎都很好,但是当我添加JQuery时,它不会提交,并且会不断显示ajax指示器 这是我的密码:JQuery表单保持ajax指示器打开并赢得&x27;不要屈服,jquery,forms,Jquery,Forms,我使用jQuery1.3验证表单并将其提交到PHP页面,该页面将JSON编码服务器响应以显示在原始表单页面上 我尝试过在没有JQuery部分的情况下提交表单,一切似乎都很好,但是当我添加JQuery时,它不会提交,并且会不断显示ajax指示器 这是我的密码: $(文档).ready(函数(){ 变量选项={ 目标:'#messagebox', url:'updateregistration.php', 类型:'POST', 提交前:验证密码, 成功:processJson, 数据类型:“js
$(文档).ready(函数(){
变量选项={
目标:'#messagebox',
url:'updateregistration.php',
类型:'POST',
提交前:验证密码,
成功:processJson,
数据类型:“json”
};
$(“表单:非(.filter):输入:可见:启用:第一”).focus();
$(“#webmailForm”).validate({
errorLabelContainer:#messagebox“,
规则:{
名字:“必选”,
姓:“必选”,
当前密码:“必需”,
直接电邮:{
要求:正确,
电子邮件:真的
},
直接电话:“必需”
},
信息:{
姓名:{必需:“请输入您的姓名
”},
directemail:{必需:“请输入您的直接电子邮件地址
”,电子邮件:“您的电子邮件地址似乎无效
(示例:name@domain.com)
“},
姓氏:{必填:“请输入您的姓氏
”},
directtelephone:{必填:“请输入您的直接电话号码
”},
currentpassword:{必需:“请输入当前密码
”}
}
}))
$('#webmailForm')。提交(函数(){
$('#ajaxindicator').show()
}))
函数processJson(数据){
美元(“#webmailForm”)。淡出(“快速”);
$(“#messagebox”).fadeIn(“fast”);
$(“#messagebox”).css({'background-image':'url(../images/messageboxbackgroundgreen.png)','border-color':'#009900','border-width':'1px','border-style':'solid'});
var forename=data.forename;
var姓氏=数据。姓氏;
var directemail=data.directemail;
var directphone=data.directphone;
var dateofbirth=data.dateofbirth;
var companyname=data.companyname;
var fulladdress=data.fulladdress;
var电话=数据电话;
var fax=data.fax;
var email=data.email;
var网站=data.website;
var fsanumber=data.fsanumber;
var membertype=data.membertype;
var网络=数据网络
$("#messagebox").html('<h3>Registration Update successful!</h3>' + '<p><strong>Member Type:</strong> ' + membertype + '<br>' + '<strong>Forename:</strong> ' + forename + '<br><strong>Surname:</strong> ' + surname + '<br><strong>Direct E-mail:</strong> ' + directemail + '<br><strong>Direct Phone:</strong> ' + directphone + '<br><strong>Date of Birth:</strong> ' + dateofbirth + '<br><strong>Company:</strong> ' + companyname + '<br><strong>Address:</strong> ' + fulladdress + '<br><strong>Telephone:</strong> ' + telephone + '<br><strong>Fax:</strong> ' + fax + '<br><strong>E-mail:</strong> ' + email + '<br><strong>Website:</strong> ' + website + '<br><strong>FSA Number:</strong> ' + fsanumber + '<br><strong>Network:</strong> ' + network + '</p>');
$(“#messagebox”).html('Registration Update successful!'++'成员类型:'+membertype++'
'名字:'+ForName++'
姓氏:'+姓氏+'
直接电子邮件:'+directemail+'
直接电话:'+directphone+'
出生日期:'“
公司:+companyname+”
地址:+fulladdress+”
电话:+phone+”
传真:+Fax+”
电子邮件:+email+”
网站:+Website+”
FSA号码:+fsanumber+”
网络: “+网络+”);
$('#ajaxindicator').hide()
}
函数validatePassword(){
var clientpassword=$(“#clientpassword”).val();
var currentpassword=$(“#currentpassword”).val();
var currentpasswordmd5=hex_md5(currentpassword);
if(currentpasswordmd5!=客户端密码){
$(“#messagebox”).html(“您输入了错误的当前密码,请重试。”);
$('#ajaxindicator').hide();
返回false;
}
}
我有一个禁用的文本框和一些隐藏的文本框。这可能是问题吗?尝试隐藏/显示ajax请求状态的进度条,请检查以下代码:
jQuery(document).ajaxSend(function(){
jQuery("#loading-mask").show();
});
jQuery(document).ajaxComplete(function(){
jQuery("#loading-mask").hide();
});
从代码中删除$('#ajaxindicator').show();谢谢Chirag!我已经从代码中删除了$('#ajaxindicator').show();现在指示器出现了一瞬间,然后消失了。问题是,表单仍然不会提交。
jQuery(document).ajaxSend(function(){
jQuery("#loading-mask").show();
});
jQuery(document).ajaxComplete(function(){
jQuery("#loading-mask").hide();
});