2 回答
TA贡献1770条经验 获得超3个赞
你说你不能修改你的 HTML,所以这是我找到的解决方案。
您想要阻止表单提交。您可以通过以下方式做到这一点:
const myForm = document.querySelector('#registrar');
myForm.addEventListener("submit", function(evt) {
evt.preventDefault();
});
请参阅工作片段:
function addLi() {
var txtVal = document.getElementById('txtVal').value,
listNode = document.getElementById('invitedList'),
liNode = document.createElement("LI"),
txtNode = document.createTextNode(txtVal);
liNode.appendChild(txtNode);
listNode.appendChild(liNode);
}
const myForm = document.querySelector('#registrar');
myForm.addEventListener("submit", function(evt) {
evt.preventDefault();
});
<div class="wrapper">
<div>
<h1>Football</h1>
<p>A Fottball Competition App</p>
<form id="registrar">
<input type="text" id="txtVal" name="name" placeholder="Invite Team">
<button type="submit" onclick="addLi()" name="submit" value="submit">Submit</button>
</form>
</div>
<div class="main">
<h2>Invitees</h2>
<ul id="invitedList">
</ul>
</div>
</div>
TA贡献1877条经验 获得超6个赞
您只需要更改html中的提交按钮并为提交事件监听器添加preventDefault
超文本标记语言
/* Replace the button to input as below */
<input type="submit" value="Submit">
JS
/* Adding eventlistener for the form submit */
const form = document.getElementById('registrar');
form.addEventListener('submit', addLi);
function addLi(e) {
/* Prevent the default functionality - in this case it is, reloading page */
e.preventDefault();
/*
...the rest of the function code
*/
}
如果有任何不清楚的地方,请随时询问。
- 2 回答
- 0 关注
- 82 浏览
添加回答
举报