簡體   English   中英

使用javascript / jQuery設置文本輸入值時未反映出更改

[英]Changes not reflected when setting text input value with javascript/jQuery

我試圖在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()方法訪問設置值,只是對於某些輸入字段而言,它們不會顯示在屏幕上。

為什么會這樣呢?

@Emrah Izci嘗試運行此命令:

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

我不確定這是什么意思。 也許有隱藏的輸入持有實際值或什么?

您已經更改了輸入的實際值,但顯示的值不是,因為它是角度驅動的HTML,所以angularJS控制顯示內容,但未考慮控制台干擾。

修改后運行

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM