2

我正在学习如何编写 HTML 表单,我对遇到的示例几乎没有疑问。

  1. 外行术语中的值和名称有什么区别?

  2. 为什么前两个标签输入中的值保留为空字符串?

  3. 为什么第三个标签的选择被赋予了名称而不是值,而以下 3 个选项仅被赋予了值?

  4. 在第 5 个标签输入中,值后面有一个 S 属性,这是什么意思?

  5. 为什么第 6 个标签的输入既有名称又有值?

  6. 为什么第 6 个输入的名称是“facilities[]”,这与数组有关吗?

  7. 同样,为什么第 8 个标签的输入有名称和值,但它的按钮有类和名称?

我真的需要针对每个标签的答案,因为我仍然是 Web 开发的初学者。

这是我的代码:

<form id="registration_form" method="POST">


  <!-- 1st-->
  <label>Full name*:</label>
  <br>
  <input type="text" name="full_name" placeholder="FirstName LastName" autofocus="autofocus" value="">
  <br>


  <!-- 2nd-->
  <label>Email address*:</label>
  <br>
  <!-- value leaves input box empty-->
  <input type="text" name="email_addr" value="" placeholder="jamesruss@example.com">
  <br>



  <!-- 3rd-->
  <label>Select Tour Package* :</label>
  <br>
  <select name="package">
    <option value="Goa">Goa</option>
    <option value="Kashmir">Kashmir</option>
    <option value="Rajasthan">Rajasthan</option>
  </select>
  <br>

  <!-- 4th-->
  <label>Arrival date*:</label>
  <br>
  <input type="text" name="arv_dt" placeholder="m/d/y" value="">
  <br>


  <!--5th -->
  <label>Number of persons*:</label>
  <br>
  <input type="text" name="persons" value="" s>
  <br>



  <!-- 6th-->
  <label>What would you want to avail?*</label>
  <br>Boarding
  <input type="checkbox" name="facilities[]" value="boarding">
  <br>Fooding
  <input type="checkbox" name="facilities[]" value="fooding">
  <br>Sight seeing
  <input type="checkbox" name="facilities[]" value="sightseeing">
  <br>



  <!-- 7th-->
  <label>Discout Coupon code:</label>
  <br>
  <input type="text" name="dis_code" value="">
  <br>



  <!-- 8th-->
  <label>Terms and conditions*</label>
  <br>
  <input type="radio" name="tnc" value="agree" checked>I agree
  <input type="radio" name="tnc" value="disagree">I disagree
  <br>
  <button type="submit" class="btn btn-large btn-primary" name="submit">Complete reservation</button>



</form>

4

4 回答 4

2

name 属性是元素的名称。例如,服务器可以使用它来识别表单提交中的字段。在类似的情况下facilities[],当服务器接收到具有该名称的所有输入值时,它会将所有输入值放入一个数组中。

value 属性是一个默认值,将在页面加载时显示在元素中。该值也将发布到服务器并关联回名称。

类通常仅用于 CSS 属性或 JavaScript,与您问题中的其他任何内容都没有真正相关。

对于S您的情况,它可能没有任何意义,只是一个错字。如果您使用Angular 的指令之类的东西,它可能会有一些意义

于 2016-04-08T17:47:46.860 回答
1

1)名称是计算机用来指代该项目的名称,而值指的是输入的任何答案。您没有询问占位符,但许多浏览器会在屏幕上显示它,就好像它已输入(可能变暗)但它永远不会成为真正的价值。

2)让我把它翻过来……如果值以非空白开头,用户实际上不需要输入任何内容。他们可以将其用作默认值。姓名和电子邮件地址不太可能成为可接受答案的默认值。

3)第三项是一个列表框,而不是像前两个那样的文本框。尽管您可以设置默认值,但浏览器可能会选择第一个作为默认值,而无需指定。

4)我不熟悉“s”属性。我怀疑这是一个错字。

5 & 6) 这些复选框共享一个名称,因此它们被组合在一起。每个单独的复选框都有一个值,但是当编程语言使用该值时,它最终会看起来像一个数组,其中包括所有“已检查”的答案。

7)类与视觉风格(谷歌“级联样式表”)有关,与名称/值/等无关。我们一直在探索。按钮也可以有一个值,但除非您将控件组合在一起(如问题 5 和 6 中的复选框),否则它很少有用。

我希望这有帮助!

于 2016-04-08T18:02:24.657 回答
1

name=""元素的标识符也是如此,而value=""回发期间该元素的返回值也是如此。

例如 - 你的文字输入:

<input type="text" name="email_addr" value="" placeholder="jamesruss@example.com">

默认值为 null - 因此,如果您要使用此值提交表单,则名为“email_addr”的元素的值为null. 如果您输入 example@email.com - 该元素的值将是 `example@email.com。


选择元素具有值的原因是因为当您进行选择时<option value="testValue" >THIS DOESNT MATTER</options>- 您告诉您的应用程序您要将值存储为testValue. 选项标签中定义的文本正是屏幕上显示的内容。

于 2016-04-08T17:52:03.207 回答
1
  1. value是表单提交后将返回的内容。name只是字段的名称,并由服务器端语言使用,例如PHP.NET来定位输入以接收值。

  2. 没有意义。您可以根据需要设置默认值,但将其留空没有任何意义 - 这与没有value在代码中定义属性相同。

  3. <select>元素及其子元素的标准语法。

  4. s可能是一个错字。如果没有更多的上下文,我们无法确定。

5-6。请参阅eh.的答案 - 他有一个可靠的解释。

  1. 可以为按钮赋予name属性,因此在服务器端,您可以确定单击了哪个按钮。在这种情况下,这些类专门用于使用Bootstrap.
于 2016-04-08T17:52:14.097 回答