繁体   English   中英

DOM元素在更新后立即消失

[英]DOM element disappearing immediately after update

我有以下javascript函数,可在单击按钮时更新div中的文本(使用onclick()事件)。它可以工作,但是会立即变回旧文本。

function func()
{
    var text = document.getElementById("text");
    text.innerHTML = "Changed";
};

HTML

<body>
    <form>
        <input type="submit" value="Add Text" onclick="func()"/>
    </form>
    <div id="text">
        Text to Change
    </div>
</body>

我想念什么? 我也尝试从函数中返回“ false”,但是没有运气。

您实际上是在提交表单。 通过将return false添加到onclick属性来防止这种情况:

<input type="submit" value="Add Text" onclick="func(); return false;"/>

表单提交导致页面刷新并重新加载原始内容。

尝试在表单提交处理程序上返回false,以防止执行默认操作:

<form onsubmit="return false;">

如果我建议,请完全避免内联事件处理程序。 而是将现代事件API与更好的addEventListener

<body>
    <form id='mainForm'>
        <input type="submit" value="Add Text"/>
    </form>
    <div id="text">
        Text to Change
    </div>
</body>

Javascript:

var form = document.getElementById("mainForm");
var text = document.getElementById("text"); // probably not a very good id!
form.addEventListener("submit",function(e){ 
    text.innerHTML = "Hello!";
    e.preventDefault();
});

您在Form标记内使用输入type =“ submit”,单击此按钮将刷新同一页面。

尝试

    <input type="button" value="Add Text" onclick="func()"/>

<div id="text">
    Text to Change
</div>

或删除表单标签

暂无
暂无

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

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