【问题标题】:Javascript Ajax DOM add onsubmit to a formJavascript Ajax DOM 将 onsubmit 添加到表单
【发布时间】:2019-07-14 04:53:51
【问题描述】:

在我的项目中,我使用 Ajax DOM 创建了一个 POST 表单。 我必须添加一个 onsubmit 方法,我尝试:

var impform = document.createElement("FORM");
impform.method = "post";
impform.onsubmit = "/import_templ";

但是当我加载我的网页表单时创建正常并且方法是 POST 但没有 onsubmit 方法。

如何将我的 onsubmit 方法添加到表单中?

提前致谢

【问题讨论】:

  • onsubmit 是一个方法,这里你已经把它赋值给了一个字符串,所以它不能被执行。也许您的意思是使用action 而不是onsubmit

标签: javascript ajax dom


【解决方案1】:

分配给onsubmit 属性(或附加addEventListener,这是现代方法)的值需要是一个函数

你正在分配一个字符串。

function submitHandler(e) {
    e.preventDefault();
    document.body.style.background = '#aaf';
}

var impform = document.createElement("form");
impform.method = "post";
impform.action = "http://example.com/";
impform.addEventListener("submit", submitHandler);

var btn = document.createElement("input");
btn.type="submit";

impform.appendChild(btn);
document.body.appendChild(impform);

【讨论】:

    【解决方案2】:

    例如。 DOM 表单/输入访问和单击按钮提交。

    <form method="post" name="form_test">
      <button type="button" name="submit_test" >test</button>
    </form>
    <script>
    document.form_test.method = "post";
    document.form_test.action = "/import_templ";
    document.form_test.addEventListener("click", submit);
    function submit () {
      document.form_test.submit();
    }
    </script>
    

    【讨论】:

      【解决方案3】:

      相信 /import_templ 是您要访问的道路,因此您必须将其放入表单的操作中,而不是提交

      impform.method = "/import_templ";

      然后将您的按钮类型更改为“提交” 导入此模板

      【讨论】:

        猜你喜欢
        • 2012-11-30
        • 1970-01-01
        • 1970-01-01
        • 2012-08-11
        • 2011-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多