如果我使用 value 属性进行输入或 textarea,当用户在该输入中输入一些信息时,提交给服务器的值会改变吗?
如果是这种情况,“值”是否只是作为初始占位符,其行为与“占位符”属性略有不同?
例如,如果我有<input type="text" name="color" value="red" placehold="blue">
并且用户输入orange
,那么表单的 POST 中实际上会提交什么?
是的,是的。
在 HTML 中,aplaceholder
是“假”文本。单击框开始输入将导致占位符消失。value
但是,A是真实文本;它代表输入的默认值。如果输入有 aplaceholder
并且用户没有与之交互,则将提交一个空输入。但是,如果输入具有value
,则将提交该值。
在您的示例中,orange
已提交。事实上,placeholder
除非用户清空文本框,否则它是没有意义的。
HTML<textarea>
标记没有有效的value=""
属性。
也就是说,是的,如果用户更改输入值,它将在表单提交期间按原样发送。placeholder=""
是一个不影响 value 属性的 HTML5 属性。
该值是该元素的默认值;它提供初始值,如果用户不更改它,该值将提交给服务器。对于某些表单控件,例如单选按钮和复选框,该值是在提交该复选框或单选按钮时将提供给服务器的值。
占位符只是在控件内绘制的文本,但永远不会提交给服务器。它本质上是一种为控件提供标签的不同方式,它恰好显示在控件内部。如果您只有一个占位符,并且用户提交时没有输入任何内容,则提交的值将为空。
对于您的示例,orange
将通过 POST 提交;如果用户不更改该值,则将提交“红色”。
占位符属性指定描述输入字段的预期值的简短提示(例如,样本值或预期格式的简短描述)。
在用户输入值之前,简短提示会显示在输入字段中。
注意:占位符属性适用于以下输入类型:文本、搜索、url、电话、电子邮件和密码。
在这里查看 http://www.w3schools.com/tags/att_input_placeholder.asp
好吧,如果我理解正确,那么是的,value
如果已经设置了属性并且提交了表单,那么输入的值将被发布到服务器交换。
除了你的例子,orange
将被提交,因为placeholder
它只是一段临时的文本。Avalue
将是输入的原始文本。
根据 w3schools:
placeholder 属性指定描述输入字段的预期值的简短提示
value 属性指定
<input>
元素的值。
还有一件事,在您的示例中,首先red
将其设置为值。在不更改任何内容的情况下,您提交的表单red
将被提交,但是如果您将其更改为orange
橙色,则将被提交并且placeholder
不会产生任何影响,因为当我们专注于该特定内容时,它的文本就会消失<input>