2

私は JavaScript を学び始めていますが、ボタンの前に「エフェメラル」が永久に表示されず、ボタンが押される前に元の HTML ページに戻るのはなぜだろうかと思っていました。

index.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="mind.js"></script>
</head>
<body>
    <h1 id = "identifier"></h1>
    <form>
        <button value = "button!" onclick="doSomething()"> </button>
    </form>
</body>
</html>

マインド.js

function doSomething() {
    document.getElementById("identifier").innerHTML = '<i>Ephemeral</i>';
}
4

1 に答える 1

10

フォームを送信しているため、ページが更新されます。return falseまだ送信したくない場合は、インライン ハンドラーに追加します。

<button value = "button!" onclick="doSomething(); return false;"> </button>

またはreturn、呼び出しの前に追加return falseし、関数に追加します。

<button value = "button!" onclick="return doSomething();"> </button>

function doSomething() {
    document.getElementById("identifier").innerHTML = '<i>Ephemeral</i>';
    return false;
}
于 2013-09-07T19:34:35.523 に答える