我有一个标准表单,它从一个文本框中获取值来<input type="text" ...
操作它,并将信息放入一个 div 或另一个文本框中,视情况而定。
一切都在,直到我犯了一个错误。我在我的文本框周围添加了 a 并且在调用函数时<form>
没有添加 a 。return false
花了几秒钟才发现问题,但我注意到了一些有趣的事情:console.log 信息被放置在位置栏中。
function getTotal(){
....
var total=end-start;
....
console.log(total);
}
正如预期的那样(因为没有包含 return false ),div 没有被写入,文本框也没有被写入,但是....查看屏幕截图。
这是怎么发生的?为什么要写入地址栏?
下面的屏幕截图:(我无法为它创建一个 jsfiddle,因为它需要一个表单提交按钮。)我在<input type="text" id="start">
文本框中输入了 22 和 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);
}