2013-06-19 53 views
0

如果我使用value屬性創建輸入或textarea,當用戶在該輸入中輸入一些信息時,提交給服務器的值是否會改變?在HTML表單輸入中正確使用值是什麼?

如果是這種情況,那麼「value」是否僅僅起到了與「placeholder」屬性稍有不同的初始佔位符的作用?

例如,如果我有<input type="text" name="color" value="red" placehold="blue">並且用戶輸入orange,實際上會在表單的POST中提交什麼?

+0

你想知道已經存在於形式的價值得到發佈到服務器? –

回答

3

是和是。

在HTML中,placeholder是「假」文本。點擊該框開始輸入將導致佔位符消失。但是,value是真實的文本;它表示輸入的默認值。如果輸入有placeholder,並且用戶不與其交互,則會提交一個空輸入。如果輸入有value,但是,該值將被提交。

在你的例子中,提交了orange。實際上,除非用戶清空文本框,否則placeholder是沒有意義的。

+0

因此,如果用戶輸入一個值,它將覆蓋值屬性? –

+0

是的; 「價值」只代表箱子的初始內容。用戶可以更改它們。 – IanPudney

2

HTML <textarea>標籤沒有有效的value=""屬性。

也就是說,如果用戶更改了輸入值,它將在表單提交期間按原樣發送。 placeholder=""是一個不影響value屬性的HTML5屬性。

0

那麼,如果我正確地理解了你的話,那麼肯定value屬性if已經設置並且表單被提交,那麼輸入的值將被髮布到服務器交換機。

除了你的例子,orange將被提交,因爲placeholder只是一段短暫的文本。 A value將是輸入的原始文本。

根據W3Schools的:

placeholder屬性指定描述輸入字段

value屬性指定一個<input>元素的值的 預期值短提示。

還有一件事,在你的例子中第一個red被設置爲值。在不改變任何你提交表單,然後red將被提交,但如果你將其更改爲orange橙將提交和placeholder不會有任何效果的,當我們重點關注特定<input>

2

是dissapers文本的值是該元素的默認值;它提供了初始值,如果用戶沒有更改它,那麼該值將被提交給服務器。對於某些表單控件(如單選按鈕和複選框),如果提交該複選框或單選按鈕,則該值是將提供給服務器的值。

佔位符只是在控件內部繪製的文本,但絕不會提交給服務器。這實際上是爲控制提供標籤的一種不同方式,恰好出現在控件內部。如果您只有一個佔位符,並且用戶提交而不輸入任何內容,則提交的值將爲空。

對於您的示例,orange將通過POST提交;如果用戶沒有更改該值,則會提交「紅色」。

0

placeholder屬性指定描述輸入字段的期望值(例如樣本值或預期格式的簡短描述)的簡短提示。

在用戶輸入值之前,短提示顯示在輸入字段中。

注:placeholder屬性適用於以下輸入類型:文本,搜索,url,tel,電子郵件和密碼。

點擊此處查看 http://www.w3schools.com/tags/att_input_placeholder.asp

相關問題