我执行document.loginform.submit时无法使用Javascript手动提交表单

问题描述

| 在下面的代码中,如果我有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;
        }
    };
}());
然后使用正常的可见提交按钮。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...