问题描述
|
在下面的代码中,如果我有hackButton.type = \'hidden \'行,我的表单将被提交(这是我想要的),但是我不想隐藏该按钮。我有什么选择?我无法将其更改为“提交”或“按钮”,因为它们不起作用。
var hackButton = document.loginform.submit_login;
hackButton.type=\'button\';
var listener =
hackButton.addEventListener(\'click\',function() {
//do things here before form submission
hackButton.type=\'hidden\';
setTimeout(\"document.loginform.submit()\",3000);
},true);
解决方法
尝试
setTimeout(\"document.loginform.submit\",3000);
或setTimeout(document.loginform.submit,3000);
甚至setTimeout(function() { document.loginform.submit() },3000);
, 您应该更改逻辑,因为也可以在不单击按钮的情况下提交表单。您可以设置一个标志:
(function() {
var processed = false;
var form = document.getElementById(\'formID\');
form.onsubmit = function() {
if(!processed) {
doStuff();
processed = true;
form.submit();
return false;
}
};
}());
然后使用正常的可见提交按钮。