2016-10-14 97 views
1

我試圖使用.val()更新input元素的值,結果發現它不影響value=""屬性。在閱讀了一些關於stackoverflow的主題之後,結果發現這些並不相同。值 - 屬性和屬性

,我開始改變他們既要確保我沒有做任何的錯誤有: $("#elementid").val(variableNumber).attr('value', variableNumber);

現在,讓我們說,我送我的input的價值,以驗證它在PHP。 如果我讓他們與衆不同,會發送哪些信息?

$("elementid").val(variable1); 
$("elementid").attr('value', variable2); 

這是否有任何規定?或者是其中一個因素被作爲實際「價值」發送的因素?

+1

該屬性被髮送。該屬性在DOM中未被更改的事實沒有任何區別,因爲它是預期的行爲。我甚至不打算手動設置它,因爲它是多餘的。 –

回答

1

如果我讓它們與衆不同,會發送哪些這些內容?

輸入的電流值將被髮送。當前值由valueproperty反映。 valueattribute代表輸入的默認值,而不是其當前值(並且反映爲input上的defaultValue屬性)。默認值是用來創建input時初始化值,如果您使用的是形式,它是在的reset方法重置。

除非你要更改默認值,沒有必要設置value屬性,只是屬性。該屬性是val更改的內容,用戶對輸入進行操作時會發生什麼變化,以及提交表單時發送的內容。

+1

謝謝。經過2天的大腦絞盡腦汁,你用一種可以理解的方式向我解釋了它,它讓你像1分鐘哈哈。再次感謝 – divHelper11

+0

先生,您是否介意告訴我該屬性值在html中隱藏的位置?我不確定是否有可能在任何地方找到它 – divHelper11

+0

@ divHelper11:「value」屬性根本不在HTML中。 HTML定義元素及其默認值(通過'value'屬性),但不是它的* current *值。 –

1

當你使用<input type='text'>我認爲你應該使用attr('value', variableNumber);而不是val(value)

val(value)含有元素如<input type="checkbox"><input type="radio">,和一個<option>s<select>內部的jQuery對象上工作時是有用的。更多信息here