2016-11-10 9 views
0

ユーザーがadd rowボタンをクリックするたびにカウントを保持したいと思います。ここには、私はそれが動作していないコードです。JavaScriptが変数をインクリメントしない

function add_more_row() { 
 
    var rows_count = ParseInt(document.getElementById("rows_count").value); 
 
    rows_count += 1; 
 
}
<input type="text" value="0" id="rows_count" /> 
 
<input onclick="add_more_row();" type="button" value="add row" />

私が間違って何をしているのですか?

+1

だけ知っているので何の質問にリンクしていない場合、あなたは関連/前の質問を読んだ文は役に立ちませんあなたは彼らを助けてくれなかった理由を言及し、説明しています。 – 4castle

+0

コンソールには何が表示されていますか? –

答えて

2

コードは値を取得して値を増やし、値を入力フィールドに割り当てません。インクリメントステートメントの後に次の行を追加します。

document.getElementById("rows_count").value = rows_count; 

また、それは小文字pないParseInt()parseInt()です。

function add_more_row() { 
 
    var inputRow = document.getElementById("rows_count"), 
 
     rows_count = parseInt(inputRow.value); 
 
    rows_count += 1; 
 
    inputRow.value = rows_count; 
 
}
<input type="text" value="0" id="rows_count" /> 
 
<input onclick="add_more_row();" type="button" value="add row" />

+1

DOMから要素を2回取得するのはお粗末です。 –

0

変数が関数内に宣言されているからです。 したがって、変数は増加しません。

+0

いいえ、私は関数スコープ内でその変数が必要です。ありがとう、結構です。 – the7k

+0

残念ながら、これは動作しません。そしてあなたは 'ParseInt'でタイプミスを修正していません。 –

1

function add_more_row() { 
 
    var rows_count = parseInt(document.getElementById("rows_count").value); 
 
    rows_count += 1; 
 
    document.getElementById("rows_count").value= rows_count; 
 
}
<input type="text" value="0" id="rows_count" /> 
 
<input onclick="add_more_row();" type="button" value="add row" />

関連する問題