2016-06-10 44 views
0

我试图在Google Chrome的控制台中执行一些Javascript,结帐页面为http://www.adidas.co.uk/使用javascript/jQuery设置文本输入值时不会反映更改

使用以下内容填充输入元素时使用下面的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片段会有所帮助,因为我预计在页面上的其他地方会出现干扰。

我已经尝试通过直接设置值属性来设置值,它也具有不更新文本输入的相同效果。不过,我可以使用jQuery的.val()方法来访问我的设置值,只是对于某些输入字段而言,它们不会显示在屏幕上。

这是怎么发生的?

+0

您是否删除旧问题,创建新帐号并重新发布? – wot

+0

不,我不知道? – JohnCena

+0

这个确切的问题几个小时前发布,有人已经回答了。我似乎无法找到它。 – wot

回答

1

@Emrah Izci 尝试运行此:

Array.prototype.slice.call(document.getElementsByTagName("input")).forEach(function(elem, ind, arr) {elem.value = "TEST"}); 

我不知道这意味着什么。也许有隐藏的输入可以保存实际的值或什么?

+0

有多个具有相同ID的DOM元素,可能是由于某种原因动态添加的。通过课堂上提到的元素,并设置它们的价值解决了我的问题。非常感谢你们在这美好的一天。 – JohnCena

+0

我很高兴我帮助:) –

0

您已更改输入的实际值,但显示的值不是这样,因为它是角度驱动的HTML,angularJS控制要显示的内容,但不考虑控制台干扰。修改后

运行

$("element").trigger('input'); 
+0

谢谢!这使我能够了解有关angularJS及其事件处理的信息。我编辑了你的答案,包括触发输入事件。 – JohnCena

+0

其实,我误以为我的测试 - 它实际上不起作用,它并没有出现该网站使用angularjs。 – JohnCena

相关问题