Javascript innerhtml无法更改(保持重置)
我试图改变一个元素的innerhtml,但每次点击按钮它都会重置回“ddd”Javascript innerhtml无法更改(保持重置),javascript,innerhtml,Javascript,Innerhtml,我试图改变一个元素的innerhtml,但每次点击按钮它都会重置回“ddd” ddd 登录 document.getElementById(“submit”).onclick=function(){changeit()}; 函数changeit() { pError=document.getElementById(“passeror”); pError.innerHTML=(“错误的密码”); 首先,您缺少函数上的},然后使用submit提交您必须阻止的表单。changeit函数不需要包装器
ddd
登录
document.getElementById(“submit”).onclick=function(){changeit()};
函数changeit()
{
pError=document.getElementById(“passeror”);
pError.innerHTML=(“错误的密码”);
首先,您缺少函数上的},然后使用submit提交您必须阻止的表单。changeit函数不需要包装器函数,您可以直接将其传递给onclick变量
<form>
<p id="passError">ddd</p>
<button id="submit">Login</button>
</form>
<script type="text/javascript">
document.getElementById("submit").onclick = changeit;
function changeit(event)
{
event.preventDefault();
pError = document.getElementById("passError");
pError.innerHTML = "wrong password";
}
</script>
ddd
登录
document.getElementById(“提交”).onclick=changeit;
功能更改IT(事件)
{
event.preventDefault();
pError=document.getElementById(“passeror”);
pError.innerHTML=“密码错误”;
}
您忘了一件事,又犯了一个打字错误:
- 您忘记了@antyrat提到的函数末尾的结束括号
}
李>changeit()
- 您希望直接将字符串放入innerHTML赋值中,而不是使用括号。(请参阅来自MDN的)
changeit
函数,而不是使用匿名函数,并将peror
放入正确的声明变量中。:)
在使用
时,还需要通过在函数中的click事件上调用函数来防止submit按钮的默认行为
下面的代码正在运行。我更正了这些元素,只添加了一些缩进和间距,使代码更加用户友好
ddd
登录
document.getElementById(“提交”).onclick=changeit;
功能更改IT(evt){
evt.preventDefault();
var pError=document.getElementById(“passeror”);
pError.innerHTML=“密码错误”;
}
您忘记关闭花括号了}
谢谢我更改了它,但它仍然没有更改“ddd”。表单已提交,新页面将作为服务器响应加载。使用按钮
类型的按钮
,阻止单击处理程序中的默认操作,删除表单…@strawheart如果帖子回答了您要查找的内容,请不要忘记将其标记为“已选答案”。它将帮助未来的人们回答同样的问题:)奇怪。当我在stackoverflow上运行代码段时,这是有效的,但是当我使用firefox@strawheart没错,是我的错。您的提交按钮在Firefox中具有默认行为,并使网页重新加载。要停止它,必须添加evt.preventDefault()在changeit
功能中选择code>。我现在正在编辑我的代码片段。