我有一个标准格式,可以从一个文本框<input type="text" ...
中获取值进行操作,然后视情况将信息放入div或另一个文本框。
一切都在,直到我弄错了。我在文本框周围添加了<form>
,并且在调用函数时未添加return false
。花了几秒钟来解决问题,但我注意到了一些有趣的事情:console.log信息放置在位置栏中。
function getTotal(){
....
var total=end-start;
....
console.log(total);
}
如预期的那样(因为不包括return false),没有将div写入到文本框,也没有将文本框写入到....看屏幕截图。
这是怎么发生的?为什么将其写入位置栏?
屏幕下方:(我无法为其创建jsfiddle,因为它需要一个表单提交按钮。)
我在
<input type="text" id="start">
文本框中输入22,在<input type="text" id="end">
中输入77一切都适用于:
<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);
}
最佳答案
您所拥有的是带有隐式GET
方法类型的表单。旨在根据字段名称将表单值作为URL编码的参数添加到URL。
因此,您看到的结果与console.log
完全无关。