代码之家  ›  专栏  ›  技术社区  ›  Michel

jquery验证:不验证就用javascript提交表单

  •  0
  • Michel  · 技术社区  · 15 年前

    我只是在使用jquery验证插件。 我有以下规范:“如果表单在10秒内未被使用,给用户一个警告,如果他不做任何事情,无论如何都要提交它。”

    除了计时器等,我还有这个代码要提交表单:

    timeoutId = setTimeout(function() {
    
    $("#session_expired").val("true");
    $("form:first").validate({
                        onsubmit: false
                    });
    $("form:first").submit();
    }, 10000);
    

    它的作用是:设置某个隐藏字段值,然后提交表单。我已经添加了validate函数来确保它在本例中不会被验证。 但你可能已经猜到了:它不起作用。

    有什么线索吗?

    米歇尔

    2 回复  |  直到 15 年前
        1
  •  1
  •   bang    15 年前

    尝试直接使用dom方法而不是jquery submit方法进行提交:

    替换

    $("form:first").submit();
    

    用:

    document.forms[0].submit();
    

    我的猜测是:

    $("form:first").validate({ onsubmit: false });
    

    仅适用于通过“提交”按钮提交表单时。

        2
  •  0
  •   matpol    15 年前

    我将删除函数的每个部分,然后测试它,直到我找到函数的哪个部分是失败的。此外,还可以使用firebug和console.log来跟踪函数中发生的情况。例如

    timeoutId = setTimeout(function() {
    console.log('timeout')
    }, 10000);