<input type="text" ...
あるテキストボックスから値を取得して操作し、場合によっては情報を div または別のテキストボックスに入れる標準フォームがあります。
私が間違いを犯すまで、すべてがそのままでした。<form>
テキストボックスの周りに aを追加しましreturn false
たが、関数を呼び出すときに a を追加しませんでした。問題を解決するのに数秒かかりましたが、興味深いことに気付きました: console.log 情報がロケーション バーに配置されていました。
function getTotal(){
....
var total=end-start;
....
console.log(total);
}
予想どおり (return false が含まれていなかったため)、div は書き込まれず、テキスト ボックスも書き込まれませんでしたが .... スクリーンショットを見てください。
これはどのように起こりますか?ロケーションバーに書き込まれるのはなぜですか?
下のスクリーンショット: (フォーム送信ボタンが必要なため、jsfiddle を作成できません。) テキストボックスに 22 を入力し、<input type="text" id="start">
テキストボックスに 77 を入力しました。<input type="text" id="end">
すべてが以下で動作します:
<form>
<input type="text" name="start" id="start"><br/>
<input type="text" name="end" id="end"><br/>
<button onClick="checkTotal(); return false; ">Check Total</button><br/>
<input type="text" id="aaa"><br/>
</form>
return false を削除すると、ロケーション バーに書き込まれます。
<form>
<input type="text" name="start" id="start"><br/>
<input type="text" name="end" id="end"><br/>
<button onClick="checkTotal();">Check Total</button><br/>
<input type="text" id="aaa"><br/>
</form>
JavaScript はこれです (読みやすくするために、これはすべて省略されています)。
function checkTotal(){
var start=document.getElementById('start').value;
var end=document.getElementById('end').value;
var total=end-start;
var writeTotal=document.getElementById('total');
writeTotal.innerHTML=total;
var abc=document.getElementById('aaa').value=total;
console.log(total);
}