我只是使用JQuery验证插件。 我有以下规范:'如果表格未在10秒内使用,请向用户发出警告,如果他没有做任何事情,无论如何都要提交'
除了计时器等我还有这段代码提交表格:
timeoutId = setTimeout(function() {
$("#session_expired").val("true");
$("form:first").validate({
onsubmit: false
});
$("form:first").submit();
}, 10000);
它的作用:它设置一个隐藏的字段值,然后提交表单。我添加了validate函数以确保它在这种情况下不验证。 你可能已经猜到了:它不起作用。
任何人都有任何线索?
米歇尔
答案 0 :(得分:1)
尝试直接使用DOM方法代替提交的jQuery submit方法:
替换
$("form:first").submit();
使用:
document.forms[0].submit();
我的猜测是:
$("form:first").validate({ onsubmit: false });
仅适用于通过提交按钮推送提交表单的时间。
答案 1 :(得分:0)
我会删除函数的每个部分,然后测试它,直到我找到函数的哪个部分失败。还有我们的firebug和console.log来跟踪函数中发生的事情。 e.g。
timeoutId = setTimeout(function() {
console.log('timeout')
}, 10000);