我有一个搜索表单(you can see the form here),它使用一些javascript来检查至少一个字段是否已经完成,然后再进行搜索。
我对Javascript不是很好,所以请耐心等待。我已经设法让验证工作(在优秀的Stack Overflow用户的帮助下),并在表单通过验证后使用以下代码重新启用提交按钮:
$(function(){
$('#detailed-search-form').on('submit',function(e){
e.preventDefault();
var oneFilled = checkFields($(this));
if(oneFilled) {
$(this).unbind('submit').submit()
} else {
overlay();
}
});
});
问题是第一次点击提交按钮实际上并没有提交表单,它只是启用按钮。这需要在提交表单之前再次单击。
希望有一种方法可以让表单不仅可以在点击时重新启用按钮,还可以提交表单而无需再次点击?
任何帮助将不胜感激!
提前致谢,
汤姆
答案 0 :(得分:1)
你写的submit
处理程序基本上应该说“嘿,如果你没有提供至少一个字段,我会提示你一个漂亮的绿色叠加,否则让我们继续搜索” - 不需要解开任何东西。
$(function(){
$('#detailed-search-form').on('submit',function(e){
if( !checkFields($(this)) ) {
// if the form isn't valid, show overlay
overlay();
return false;
} else {
// else just continue with form action
return true;
}
});
});