一旦验证发生,如何获取提交按钮以重新启用

时间:2012-08-23 11:08:11

标签: javascript forms

我有一个搜索表单(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();
        }
    });
});

问题是第一次点击提交按钮实际上并没有提交表单,它只是启用按钮。这需要在提交表单之前再次单击。

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

任何帮助将不胜感激!

提前致谢,

汤姆

1 个答案:

答案 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;

        }
    });
});