Javascript 尝试创建<;李>;元素,但它会消失
我想使用JavaScript创建一个li元素。我被教导,这将工作,但它不是。当我点击提交按钮时,我在文本字段中写的内容会出现,然后很快消失。我该怎么办Javascript 尝试创建<;李>;元素,但它会消失,javascript,html,Javascript,Html,我想使用JavaScript创建一个li元素。我被教导,这将工作,但它不是。当我点击提交按钮时,我在文本字段中写的内容会出现,然后很快消失。我该怎么办 函数addLi(){ var x=document.createElement(“LI”); var t=document.createTextNode(document.getElementById('text').value); x、 儿童(t); document.getElementById(“元素”).appendChild(x);
函数addLi(){
var x=document.createElement(“LI”);
var t=document.createTextNode(document.getElementById('text').value);
x、 儿童(t);
document.getElementById(“元素”).appendChild(x);
}
托多利斯特
费利克斯说的是真的。您的提交
按钮正在提交表单
,这将打开一个重新加载页面的请求。这是默认行为。您必须取消(也称为阻止)此行为才能使您的功能正常工作:
return
语句添加到form
元素中的onSubmit
事件中:
<form onSubmit="return addLi();">
然后添加event.preventDefault()代码>在函数末尾
提交
并使用按钮
,默认情况下,该按钮不会提交表单
:
<input type="button" value="Submit" onclick="addLi()" />
尝试添加一个
返回false代码>在函数末尾。您的表格
可能正在提交中。你的问题的一小部分是有效的,我想这是因为表单没有被提交。@DontVoteMeDown:单凭这一点是没有帮助的。但是原因是正确的。@FelixKling我尝试了一个不更改代码的建议,但是事件.preventDefault()
会更准确。提交事件的默认操作是提交表单。这涉及对页面的HTTP请求并加载该页面。如果不希望发生这种情况,则必须阻止默认操作.event.preventDefault()?event.preventDefault()代码>是最安全的操作。看这篇文章:我使用了你的第一个建议,它奏效了。我很高兴它能起作用,但我不太明白为什么它现在能起作用。你能解释一下原因吗?:)@AndreiseMedre如果您知道表单
是如何工作的,您应该通过答案开头的解释来理解。你知道它是怎么工作的吗?@AndreiSimedre没关系。我的意思是,如果你仍然不知道一个表单是如何工作的,你应该去追它,否则它确实会被搞糊涂的。@Andreismedre记住。
<input type="button" value="Submit" onclick="addLi()" />