HTML表单输入中值的正确用法是什么?

时间:2013-06-19 19:02:13

标签: html html5 forms input textarea

如果我使用value属性创建输入或textarea,当用户在该输入中输入某些信息时,提交给服务器的值是否会更改?

如果是这种情况,“value”是否只是作为一个初始占位符,其行为与“占位符”属性略有不同?

例如,如果我有<input type="text" name="color" value="red" placehold="blue">并且用户输入了orange,那么在表格的POST中实际提交的是什么?

5 个答案:

答案 0 :(得分:3)

是和是。

在HTML中,placeholder是“假”文本。单击框中的开始键入将导致占位符消失。然而,value是真实文本;它表示输入的默认值。如果输入具有placeholder且用户未与其交互,则将提交空输入。但是,如果输入具有value,则将提交该值。

如果是您的示例,则会提交orange。事实上,除非用户清空文本框,否则placeholder毫无意义。

答案 1 :(得分:2)

HTML <textarea>标记没有有效的value=""属性。

那就是说,是的,如果用户更改输入值,它将在表单提交期间按原样发送。 placeholder=""是HTML5属性,不会影响value属性。

答案 2 :(得分:2)

该值是该元素的默认值;它提供初始值,如果用户没有更改它,则该值将提交给服务器。对于某些表单控件,例如单选按钮和复选框,该值是在提交复选框或单选按钮时将提供给服务器的值。

占位符只是在控件内绘制的文本,但永远不会提交给服务器。它本质上是一种为控件提供标签的不同方式,它恰好出现在控件内部。如果您只有占位符,并且用户提交而未输入任何内容,则提交的值将为空。

对于您的示例,orange将通过POST提交;如果用户没有更改该值,则会提交“红色”。

答案 3 :(得分:0)

好吧,如果我理解正确,那么YES value属性如果已经设置并且表单已提交,那么输入的值将被发布到服务器交换。

除了您的示例之外,还会提交orange,因为placeholder只是一段临时文本。 value将是输入的原始文本。

根据w3schools:

  

占位符属性指定描述的短提示   输入字段的期望值

     

value属性指定<input>元素的值。

还有一件事,在您的示例中,第一个red被设置为值。如果您在不提交任何内容的情况下提交表单,则会提交red,但如果您将其更改为orange,则会提交橙色,并且placeholder将无法生效,因为我们关注的时候它会消失在那个特定的<input>

答案 4 :(得分:0)

占位符属性指定一个简短的提示,用于描述输入字段的预期值(例如,样本值或预期格式的简短描述)。

在用户输入值之前,短提示会显示在输入字段中。

注意:占位符属性使用以下输入类型:text,search,url,tel,email和password。

在这里查看 http://www.w3schools.com/tags/att_input_placeholder.asp