我需要找出Ebay如何对其产品形式进行处理,以便将其应用于我的应用程序。这对于表单数据安全至关重要。这是东西;
在Ebay上,当您单击某个产品时,如容量,状况,数量出现在产品上,并且(在我的情况下)您更改数量并将其添加到购物车中,例如,当您键入时 10作为数量,但默认值为1,DOM不会更改为10, 但仍然有10项商品进入购物车。另外,如果您在 DOM本身通过浏览器检查器(假设设为10),默认值为 1不会更改为10。结果,唯一的情况是发生;您输入数量,即使DOM不变,应用程序仍然知道所需数量。 (请注意,可以通过DOM检查器来操纵其他标签,例如h3,即立即应用更改)
我需要帮助弄清楚如何完成此操作。预先谢谢你。
答案 0 :(得分:2)
对value property
所做的任何更改都不会更新为输入的value attribute
。
对输入value attribute
所做的任何更改将仅更新为value property
的输入,直到value property
不脏(即未从其他位置更改)。输入value property
变脏后,对value attribute
所做的任何更改都不会更新输入value property
。
您可以使用Element.value
来设置或获取value property
的输入。
您可以使用Element.getProperty('value')
获取并使用Element.setProperty('value')
设置输入value attribute
。
答案 1 :(得分:1)
据我所知,一旦在浏览器加载页面后手动更改input
字段中的值,对DOM的更改就不会更改输入字段。如果我的观察是正确的,则解决方案可以是使用JQuery
更改和恢复该值。因此,如果我是对的,则类似以下内容可能会有所帮助:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var val = document.getElementById('fname');
s = val.value;
val.value = "4";
val.value = s;
});
</script>
</head>
<body>
<form action="/action_page.php">
First name: <input type="text" name="fname" value="John" id="fname"><br>
Last name: <input type="text" name="lname" value="Doe"><br>
<input type="submit" value="Submit form">
</form>
</body>
</html>
我不确定这是怎么做的。