我正在http://www.adidas.co.uk/的结帐页面尝试在Google Chrome控制台的控制台中执行一些Javascript。
使用以下内容使用以下ID填充输入元素可以正常工作。 $("#dwfrm_delivery_singleshipping_shippingAddress_addressFields_houseNumber").val("value here")
但是,在不同的元素上,如下所示,绝对没有任何反应,文本也不会出现在输入字段中。
$("#dwfrm_delivery_singleshipping_shippingAddress_addressFields_firstName").val("value here")
您可以通过在http://www.adidas.co.uk/添加随机项目并点击“结帐”来查看该页面。我不认为提供HTML片段会有所帮助,因为我希望页面上的某些内容会干扰。
我尝试通过直接设置value属性来设置值,这也与不更新文本输入具有相同的效果。不过,我可以使用jQuery的.val()方法访问我的设置值,只是对于某些输入字段,它们不会显示在屏幕上。
为什么会这样?
答案 0 :(得分:1)
@Emrah Izci 试试这个:
Array.prototype.slice.call(document.getElementsByTagName("input")).forEach(function(elem, ind, arr) {elem.value = "TEST"});
我不确定这意味着什么。也许有隐藏的输入可以保留实际值或什么?
答案 1 :(得分:0)
您已经更改了输入的实际值,但显示的值不是这样,因为它是角度驱动的HTML,angularJS控制显示的内容,但不考虑控制台干扰。
修改后运行
$("element").trigger('input');