2016-06-10 31 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

相關問題