【问题标题】:What is the correct use of value in HTML form inputs?HTML 表单输入中值的正确用法是什么?
【发布时间】:2013-06-19 19:02:12
【问题描述】:

如果我使用 value 属性进行输入或 textarea,当用户在该输入中输入一些信息时,提交给服务器的值会改变吗?

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

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

【问题讨论】:

  • 您想知道表单中已经存在的值会被发布到服务器吗?

标签: html forms input textarea


【解决方案1】:

是的,是的。

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

在您的示例中,orange 已提交。事实上,placeholder 是没有意义的,除非用户清空文本框。

【讨论】:

  • 那么如果用户输入一个值,它会覆盖value属性吗?
  • 是的; value 只代表盒子的初始内容。用户可以更改它们。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    占位符只是在控件内绘制的文本,但永远不会提交给服务器。它本质上是一种为控件提供标签的不同方式,它恰好显示在控件内部。如果你只有一个占位符,并且用户没有输入任何内容就提交了,那么提交的值将为空。

    对于您的示例,orange 将通过 POST 提交;如果用户不更改该值,则将提交“red”。

    【讨论】:

      【解决方案4】:

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

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

      根据 w3schools:

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

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

      还有一件事,在您的示例中,首先将 red 设置为值。在不更改任何内容的情况下提交表单,然后red 将被提交,但如果您将其更改为orange,橙色将被提交并且placeholder 将不起作用,因为当我们关注特定的<input> 时,它的文本会消失

      【讨论】:

        【解决方案5】:

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

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

        注意:占位符属性适用于以下输入类型:文本、搜索、url、电话、电子邮件和密码。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-07-18
          • 1970-01-01
          • 2013-08-03
          • 2019-02-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多