0

私は基本的な数学を行うための基本的なスクリプトを作成しました。クリックすると1を加算し、クリックすると1を減算します。問題は、ボタンをクリックするたびに、テキストボックスのコンテンツが1ずつ増加または1減少するのを見ることができますが、その後は4分の1以内です。次に、フォームがリセットされ、初期値0が再び表示されるように見えます

<html>
<head>
<script>
function inc()
{
document.content.quant.value++;
}

function dec()
{
document.content.quant.value--;
}
</script>
</head>

<body>
<form name="content">
<input type="text" id="quant" value="0">
<button onclick="inc()">increase</button>
<button onclick="dec()">decrease</button>
</form>
</body>
</html>

私はいくつかの愚かな間違いを犯していると確信しています-何かアイデアはありますか?

4

2 に答える 2

3

type="button"ボタンに追加

<button type="button" onclick="inc()">increase</button>

属性のないボタンのデフォルトの動作は、ボタンtypeが含まれているフォームを送信することです。に変更しtypeても何も起こりbuttonません:)

于 2012-09-18T20:07:36.997 に答える
1

ボタンをクリックすると、フォームが送信されます。これを防ぐには、preventDefaultを使用します。

<html>
<head>
<script>
function inc()
{
document.content.quant.value++;
event.preventDefault();
}

function dec()
{
document.content.quant.value--;
event.preventDefault();
}
</script>
</head>

<body>
<form name="content">
<input type="text" id="quant" value="0">
<button onclick="inc()">increase</button>
<button onclick="dec()">decrease</button>
</form>
</body>
</html>
于 2012-09-18T20:13:13.583 に答える