gpt4 book ai didi

jquery - isHappy.js 允许在无效时调用 ajax

转载 作者:行者123 更新时间:2023-12-01 08:12:32 24 4
gpt4 key购买 nike

我把这个提出来是希望有人能发现错误,因为我已经重复了很多次了。它工作了大约十分钟,但后来就坏了。

我有一个 codeigniter 网站,其中有一个非常简单的联系表单,包含 3 个字段。我使用 isHappy.js 验证表单,然后发送到服务器。 isHappy.js 应该停止 AJAX 函数,直到表单验证完毕,但这部分没有发生。如果我单击“提交”按钮而不填写表单,则会出现验证错误,但随后会进行 ajax 调用并提交表单。

这是 Javascript:

 $(function() { 

$('#contact-form').isHappy({
fields: {

'#email': {
required: true,
message: 'How can I reach you sans email??'
},
'#subject': {
required: true,
message: 'Can you give me a clue to what you inquiring about please'
},
'#body': {
required: true,
message: 'More details please....'
}
}
});

$('#contact-form').bind('submit', function(e) {
e.preventDefault();
var query_params = $('#contact-form').serialize();

$.ajax({
type: 'POST',
url: 'http://website.dev:8080/contact/email/ajax',
data: query_params,
dataType: 'json',

success: function(string){
$('#contact-form').fadeOut('medium', function() {
$('#linkedin').after("<div style=\"clear:both;\" /><div id=\"contact-complete\" stlye=\"width:100%;height:200px;\"><h1>"+string+"</h1></div>").fadeIn('medium');
});
}

});
});
});

和 HTML:

<form action="http://website.dev:8080/contact/email" method="post" accept-charset="utf-8" id="contact-form">        
<div class="contact-input">
<input type="text" name="email" id="email" placeholder="Your email" value="" />
</div>
<div class="contact-input">
<input type="text" name="subject" id="subject" placeholder="Subject" value="" />
</div>
<div class="contact-textarea">
<textarea rows="10" placeholder="How can I help you?" name="body" id="body"></textarea>
</div>
<input type="submit" value="Send" id="contact-click" />

最佳答案

根据happy.js docs ,如果验证失败,会发生两种情况:

  1. 该字段将获得 unhappy类。
  2. 该字段将获得 <span>就在它之前,在 DOM 中,类为 unhappyMessage以及字段 id 的 id 加上 _unhappy .

这纯粹是演示性的。您必须检查表单是否不包含任何 unhappy 的输入AJAX 调用之前的类(class)。

var is_unhappy = false;
$('#contact-form div :input').each( function(i) {
    if ( $(this).hasClass('unhappy') ) {
is_unhappy = true;
return false;
    }
});
if(!is_unhappy){
//do ajax.
}

关于jquery - isHappy.js 允许在无效时调用 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12609862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com