0

我有一个搜索表单(您可以在此处查看表单),它使用一些 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();
        }
    });
});

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

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

任何帮助将不胜感激!

提前致谢,

汤姆

4

1 回答 1

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;

        }
    });
});
于 2012-08-23T11:21:52.173 回答