Javascript 无法执行函数 - 提交和操作

Javascript fail to execute function - onsubmit and action

本文关键字:提交 操作 函数 执行 Javascript      更新时间:2023-09-26

我正在创建一个只有javascript和html的页面。我有2个问题。

  1. 当它以这种形式调用函数 inputs() 时,它会在第一次失败,并在下一次提交时成功。

    <div id="container"> <form onsubmit="inputs()" action="#"> Variables: <input type="number" id="vars" size="1" required/> Constraints: <input type="number" id="cons" size="1" required/> <input type="submit" value="Submit"> </form> </div>

我无法解决这个问题,但我跳过了它,因为它仍然在下一次提交时继续输入()。

但是在我的inputs()中,我动态创建了一个表单。 表单的创建方式如下:

   var form = document.createElement("form");
   form.setAttribute("action","#");
   form.setAttribute("onsubmit","solve()");
  1. 现在,当我提交动态创建的表单时,问题是它返回到第一组表单。 solve() 未被调用。

这是为什么呢?应该编辑什么?

提前感谢您的帮助。

solve() 有这些代码行。这只是一个测试,如果它能成功进入它,但它失败了。这只会删除所有元素。

    var container = document.getElementById("container");
    while (container.hasChildNodes()) {
        container.removeChild(container.lastChild);
    }

此行

form.setAttribute("onsubmit","solve()");

没有做你认为它做的事情。如果它在实际的html中,它将起作用,但现在不行。它的作用只是使属性出现在控制台中。实际上并未设置事件处理程序。

而是通过onsubmit财产或addEventListener来做到这一点

form.onsubmit = solve; // now it must work

尝试在函数求解结束时返回 false。 这应该可以显示,但不会执行操作。还要添加"return solve()"而不是"solve()"。