浏览器开发人员工具为何不显示输入字段值?

时间:2018-08-08 12:32:35

标签: javascript

当我检查具有值的输入字段时,该值在调试器中显示为空,如下所示:

enter image description here

我只是想知道为什么?调试器性能?还是与安全有关的东西?还是我需要打开/关闭某些内容?

我想知道的原因是,在某些情况下,调试使我更加困难,例如现在当控制台登录.value时字段为空时返回应该加载但没有加载的值由于某些原因:

console.log( 'before LoadFromLocalStorage' );
console.log( 'input element:' );
console.log( document.getElementById( 'email' ) );
console.log( 'input element value:' );
console.log( document.getElementById( 'email' ).value );



document.getElementById( 'email' ).value = sessionStorage.email;


console.log( 'after LoadFromLocalStorage' );
console.log( 'input element:' );
console.log( document.getElementById( 'email' ) );
console.log( 'input element value:' );
console.log( document.getElementById( 'email' ).value );

enter image description here

P.S。当我设置超时时间足够长时,它实际上会显示在该字段中。 1ms在大约75%的测试中就足够了,但是有时即使100ms超时也无法显示出来。所以显然在那段时间里发生了什么,但我不知道发生了什么。如果我可以记录它实际出现在输入字段中的时间,那将非常好。


编辑:

我解决了输入字段为空的问题。我在代码的其他地方使用了element.innerHTML += "a lot of html",由于其破坏性,它在完成附加html之前先擦除了所有输入字段。我将其替换为.insertAdjacentHTML,它的作用就像是一种魅力。

1 个答案:

答案 0 :(得分:7)

您在找错地方了。

value 属性表示您未修改的默认值。

当前值显示在DOM value 属性中。

Screenshot