我正在使用表单验证插件以及html5 attribute = recquired with input type = button或者提交和fancybox.when按钮被点击,两个验证过程工作(空输入的通知出现),但不是此通知,表单提交。
如果我不使用button.click函数但使用简单的submit.then验证工作完美
插件 == HTTP://validatious.org/
javascript功能
$(document).ready(function() {
$('#send').click(function() {
$(this).attr("value", 'Applying...');
var id = getParam('ID');
$.ajax({
type:'POST',
url:"send.php",
data:{option:'catapply', tittle:$('#tittle').val(), aud:aud, con:con, adv:adv, mid:$('#mid').val(), aud2:aud, cid:$('#cid').val(), scid:$('#scname option[selected="saa"]').val(), gtt:$('input[name=gt]:radio:checked').val(), sr:$(":input").serialize() + '&aud=' + aud},
success:function(jd) {
$('#' + id).fadeOut("fast", function() {
$(this).before("<strong>Success! Your form has been submitted, thanks :)</strong>");
setTimeout("$.fancybox.close()", 1000);
});
}
});
});
});
AND Html就在这里
<form id="form2" class="validate" style="display: none" >
<input type='button' value='Apply' id="send" class="sendaf validate_any" name="jobforming"/>
</form>
答案 0 :(得分:1)
有一个type =“button”而不是一个type =“submit”或者我非常喜欢的,在表单提交而不是点击上运行。 preventDefault(或在函数末尾返回false)将停止正常的表单提交,除非代码中存在语法错误!例如什么是aud和con?
尝试
$(document).ready(function() {
$("#form2").on("submit",function(e) {
e.preventDefault(); // stop normal submission
$('#send').attr("value", 'Applying...');
var id = getParam('ID');
$.ajax({
type:'POST',
url:"send.php",
data:{option:'catapply', tittle:$('#tittle').val(), aud:aud, con:con, adv:adv, mid:$('#mid').val(), aud2:aud, cid:$('#cid').val(), scid:$('#scname option[selected="saa"]').val(), gtt:$('input[name=gt]:radio:checked').val(), sr:$(":input").serialize() + '&aud=' + aud},
success:function(jd) {
$('#' + id).fadeOut("fast", function() {
$(this).before("<strong>Success! Your form has been submitted, thanks :)</strong>");
setTimeout("$.fancybox.close()", 1000);
});
}
});
});
});
答案 1 :(得分:0)
此解决方案可能适用于您的验证插件。在我看来,即使 mplungjan 答案在大多数情况下都是一个更好的解决方案(听取提交事件而不是点击提交按钮点击)。
$(document).ready(function() {
$('#send').click(function(e) {
e.preventDefault();
$(this).attr("value", 'Applying...');
var id = getParam('ID');
$.ajax({
type:'POST',
url:"send.php",
data:{option:'catapply', tittle:$('#tittle').val(), aud:aud, con:con, adv:adv, mid:$('#mid').val(), aud2:aud, cid:$('#cid').val(), scid:$('#scname option[selected="saa"]').val(), gtt:$('input[name=gt]:radio:checked').val(), sr:$(":input").serialize() + '&aud=' + aud},
success:function(jd) {
$('#' + id).fadeOut("fast", function() {
$(this).before("<strong>Success! Your form has been submitted, thanks :)</strong>");
setTimeout("$.fancybox.close()", 1000);
});
}
});
});
});