javascript - 在 JavaScript 提交操作期间从 DOM 中删除 HTML 表单

标签 javascript html forms

基本上就是上面写的那样。我有一个生成 JavaScript 操作的表单:

// in head
function process() {
    setupform = document.getElementById("setup");
    setupform.parentNode.removeChild(setupform);
    // do other stuff
}

// in body
<form id="setup" name="setup">
    <input id="entrybox" name="entry" type="text">
    <button type="submit" onclick="process()">Process</button>
</form>

当表单被触发时,页面会重新加载而不是继续“其他内容”并将表单留空。错误控制台中没有出现错误。

我有另一个版本,它不是从 DOM 中删除表单,而是有 setupform.innerHTML = ""; 并且工作正常。但是,留下一个空元素似乎是错误的。我只是想弄清楚为什么上面的代码不起作用。

在有人建议之前,我也不想使用 JQuery 或任何其他框架。

最佳答案

您必须阻止表单提交。这会触发您正在谈论的页面刷新。

<form id="setup" name="setup" onsubmit="return false;">
  <input id="entrybox" name="entry" type="text">
  <button type="submit" onclick="process()">Process</button>
</form>

@boulder_02 评论也对!

关于javascript - 在 JavaScript 提交操作期间从 DOM 中删除 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26704598/

相关文章:

javascript - 从使用 React 和 Webpack 构建的网站的 url 中删除 .html 扩展名

javascript - SAPUI5 文件 uploader : Cannot find and append file to FormData()

javascript - 自定义 amCharts 饼图中的气球文本

html - Bootstrap 4 全高卡带独立滚动列

javascript - 签名板 - "Type It"不工作

forms - Symfony 2 表单验证组

javascript - 我需要在正则表达式 javascript 中获得第二组

javascript - HTML5 时间轴、甘特图控件

angular - 如何将 Angular 表单验证与 ngFor 绑定(bind)

css - Bootstrap - 实现表单时保留按钮样式