简体   繁体   English

插入表单的数据在表单提交时消失

[英]Data inserted into a form disappears on form submit

I'm trying to insert data through the following JavaScript code.我正在尝试通过以下 JavaScript 代码插入数据。 The data inserted, however, disappears from the table when I click Submit .但是,当我单击Submit时,插入的数据从表格中消失了。

Here's my code:这是我的代码:

 let myform = document.querySelector("form"); let myFN = document.getElementById("fname"); let myLN = document.getElementById("lname"); let MyPar = document.querySelector("p"); let submit = document.getElementById("submit"); myform.addEventListener("submit", (e) => { if (myFN.value === "" || myLN.value === "") { e.preventDefault(); MyPar.textContent = 'you need to fill all'; } }); myform.addEventListener("submit", function() { document.getElementById("table").style.display = "block"; // trigger the table form page let table = document.getElementById("table"); let row = table.insertRow(-1); let fname1 = row.insertCell(0); let lname1 = row.insertCell(1); fname1.innerHTML = document.getElementById("fname").value; lname1.innerHTML = document.getElementById("lname").value; });
 table { display: none; } table, td { border: 1px solid black; }
 <form> <div> <label for="fname">First name: </label> <input id="fname" type="text" /> </div> <div> <label for="lname">Last name: </label> <input id="lname" type="text" /> </div> <div> <input id="submit" type="submit" /> </div> </form> <p></p> <table id="table"> <tr> <th>FirstName</th> <th>LastName</th> </tr> </table>

First, you should remove the event listener that checks whether or not the input fields are blank.首先,您应该删除检查输入字段是否为空的事件侦听器。 You instead can use required for the input tags in the HTML because it has a built-in form validation .您可以改为在 HTML 中对输入标签使用required ,因为它具有内置的表单验证

Then, all you need to do is remove the if statement around the e.preventDefault() so it is executed every time the button is clicked.然后,您需要做的就是删除e.preventDefault()周围的 if 语句,以便在每次单击按钮时执行它。

 let myform = document.querySelector("form"); let myFN = document.getElementById("fname"); let myLN = document.getElementById("lname"); let MyPar = document.querySelector("p"); let submit = document.getElementById("submit"); myform.addEventListener("submit", (e) => { e.preventDefault(); }); myform.addEventListener("submit", function() { document.getElementById("table").style.display = "block"; // trigger the table form page let table = document.getElementById("table"); let row = table.insertRow(-1); let fname1 = row.insertCell(0); let lname1 = row.insertCell(1); fname1.innerHTML = document.getElementById("fname").value; lname1.innerHTML = document.getElementById("lname").value; });
 table { display: none; } table, td { border: 1px solid black; }
 <form> <div> <label for="fname">First name: </label> <input id="fname" type="text" required /> </div> <div> <label for="lname">Last name: </label> <input id="lname" type="text" required /> </div> <div> <button id="submit">Submit</button> </div> </form> <table id="table"> <tr> <th>FirstName</th> <th>LastName</th> </tr> </table>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM