Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML输入值属性-相同的输入,(显然)不同的结果_Javascript_Html_Input - Fatal编程技术网

Javascript HTML输入值属性-相同的输入,(显然)不同的结果

Javascript HTML输入值属性-相同的输入,(显然)不同的结果,javascript,html,input,Javascript,Html,Input,在通过inputbox进行编辑之后,value属性如何为html输入标记工作 例如: <input type="text" name="test" id="test" value="Hello world" /> 我将正确地获取新值。 但是如果我通过chrome开发者工具(或firebug或任何你喜欢的工具)检查元素,我会看到与开始时相同的“Hello world”字符串 这两个中哪一个是正确的?js值还是chrome检查器 这是图片,这是截图 我是在试图找到这个问题的解决方案时想

在通过inputbox进行编辑之后,value属性如何为html输入标记工作

例如:

<input type="text" name="test" id="test" value="Hello world" />
我将正确地获取新值。 但是如果我通过chrome开发者工具(或firebug或任何你喜欢的工具)检查元素,我会看到与开始时相同的“Hello world”字符串

这两个中哪一个是正确的?js值还是chrome检查器

这是图片,这是截图

我是在试图找到这个问题的解决方案时想到这一点的:典型的商店情况,我有一个带有X inputs标签的表,用户可以在其中输入X项的数量。我需要检查自每个输入的上一个值以来是否有一个或多个值发生了更改:如果新旧val之间的比较返回值已更改,我需要更新顺序。否则就不需要保存/更新

我想我可以用attr。“value”存储输入的“旧”值,但可能不是最佳选择


有人能解释这种行为吗?这只是一个“刷新”问题,还是背后还有其他问题?

两者都是对的,它们只是显示了不同的东西

DOM
属性提供当前值

HTML
属性为您提供默认值值(与DOM
默认值
属性相同)

Chrome DOM检查器在HTML视图中显示属性值。您必须查看属性视图才能查看属性值


您可以为输入指定一个所谓的专有属性;例如“oldval”,以便以后可以将其与当前值进行比较,您可以在其中找到信息

html中的值是加载表单时使用的默认值。如果希望DOM也更新,那么必须使用ele.setAttribute(“value”、“new value”)


如果您想知道某个元素是否发生了更改,最好是将onchange事件附加到输入元素,并在更改处理程序中标记一些标志,以了解表单是否发生了更改。

可以,但是当
defaultValue
免费提供时,为什么还要麻烦呢?嗯,即使我在输入框中输入了相同的值,onchange也会触发。。我说的对吗?通常在我们的实现中,我们为输入框创建一个简单的类,在这里我们用一些值初始化它。该类将负责呈现输入元素,并侦听其事件,当它捕获更改事件时,它可以在缓存初始化值时检查值是否实际更改。如果您认为这会使您的需求复杂化,那么您可以维护一个数组或值列表,将其映射到输入元素,并根据数组中存储的值执行检查。无论哪种方式,您都需要一些js操作
alert(document.getElementById('test').value)