Javascript 如何在验证完成后重新启用提交按钮

Javascript 如何在验证完成后重新启用提交按钮,javascript,forms,Javascript,Forms,我有一个搜索表单(),它使用一些javascript检查在允许进行搜索之前至少完成了一个字段 我对Javascript不是很在行,所以请容忍我。我已经设法使验证工作正常(在brilliant Stack Overflow用户的帮助下),并在表单通过验证后使用以下代码重新启用submit按钮: $(function(){ $('#detailed-search-form').on('submit',function(e){ e.preventDefault();

我有一个搜索表单(),它使用一些javascript检查在允许进行搜索之前至少完成了一个字段

我对Javascript不是很在行,所以请容忍我。我已经设法使验证工作正常(在brilliant Stack Overflow用户的帮助下),并在表单通过验证后使用以下代码重新启用submit按钮:

    $(function(){
    $('#detailed-search-form').on('submit',function(e){
        e.preventDefault();
        var oneFilled = checkFields($(this));
        if(oneFilled) {
            $(this).unbind('submit').submit()
        } else {
            overlay();
        }
    });
});
麻烦的是,第一次单击submit按钮实际上并没有提交表单,它只是启用了按钮。在提交表单之前,需要再次单击此按钮

希望有一种方法可以让表单不仅在单击时重新启用按钮,而且无需再次单击即可提交表单

任何帮助都将不胜感激

提前感谢,


Tom

您编写的
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;

        }
    });
});

您好@moonwave99,谢谢您的建议,但出于某种原因,这似乎会使浏览器崩溃。有什么想法吗?我的错,我已经解决了-你可以在行动中看到它。嗨@moonwave99,恐怕我现在无法让它发挥作用。您可以在这里看到我是如何实现代码的:。还有其他想法吗?