7

問題を抱えて。これは私のコードです:

<html>

<body>
<form>
<p>13-7: <input id="in1" type="text"" /><input type="submit" onclick="check(6, 'in1', 'out1')" value="Tjek!"/></p>
<p id="out1"></p>
<p>20-7: <input id="in2" type="text"" /><input type="submit" onclick="check(13, 'in2', 'out2')" value="Tjek!" /></p>
<p id="out2"></p>



<script type="text/javascript">

function check(facit, input, output) {
    var answer, evaluation;
    answer = document.getElementById(input).value;
    evaluation = (answer == facit) ? "Correct" : "Wrong";
    document.getElementById(output).innerHTML = evaluation;
    return false;
}

</script>
</form>
</body>

</html>

送信ボタンをクリックすると、「正しい/間違った」が一瞬だけ表示されます。サイトに残したいのですが、何かアドバイスはありますか?

4

5 に答える 5

16

送信ボタンはフォームを送信しています(ページをリロードします)。

ボタンをに変更しますtype="button"

于 2012-07-01T20:35:09.450 に答える
2

ボタンは送信ボタン(<input type="submit">)であるため、フォームを送信し、クリックするたびにページを更新します。ボタンを<input type="button">代わりに変更してください。

于 2012-07-01T20:34:47.777 に答える
2

onclick関数を次のように変更します。

onclick="check(13, 'in2', 'out2')"

に:

onclick="return check(13, 'in2', 'out2')"

または、[送信]ボタンが2つあるため、フォームを送信したくない場合は、次を使用することをお勧めします。

<input type="button" />
于 2012-07-01T20:34:59.450 に答える
1

これからonclickを変更するだけです

onclick="check(6, 'in1', 'out1')"

onclick="check(6, 'in1', 'out1'); return false;"

もう一方も同じようにします。

関数を削除return false;checkます。

ライブデモを参照

于 2012-07-01T20:47:59.993 に答える
0

フォームが送信され、元のページとともに返送されます。

何をしたいですか?

I dont want it returned with the original page .. I want it to say 'correct' og 'wrong' below the input 

データを送信したくない場合は、minitechが提案するように送信し、タイプを[送信]から[ボタン]に変更します。

データを保存する場合は、サーバー側のコードを記述してから、(サーバー側で)それらの値を入力してhtmlを作成する必要があります。

于 2012-07-01T20:35:00.667 に答える