簡體   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