【问题标题】:what is the tag specification i'm missing here?我在这里缺少的标签规范是什么?
【发布时间】:2017-06-19 09:10:30
【问题描述】:

这是一个网站给出的任务。我尽力完成网站中提到的所有规范,但我无法弄清楚。我的代码哪里出错了? 提到的规格:

-

  1. 除了看起来像图Bookform image 中所示的表单外,您的表单还必须包含以下说明中列出的结构。在为您的表单创建代码时,您必须使用适合复制表单并满足所有列出的规范的 HTML5 标记。

  2. 使用自动完成功能对表单进行编码。

  3. 鉴于图 1 所示的图像,很容易看出使用两个字段集来创建表单的主要结构。您的任务是创建字段集,包括名称 Customer Info 和 Books。暂时不要担心内容字段。

  4. 您创建的名称字段应具有自动对焦、占位符文本,并且是必需的。不要忘记为此字段以及随后的所有字段选择适当的类型。
  5. 电话字段应该有占位符文本、限制输入的模式,并且是必需的。模式的类型应为 [模式:1-234-567-8910]
  6. 电子邮件地址字段应包含占位符文本并允许多个条目。此字段也应为必填项。
  7. Books 字段应该有一个数据列表。您可以选择要列出的内容。
  8. 数量(最多 5 个)字段的最小值应为 1,最大值应为 5。

<html>
<head>
    <title>bookform</title>
</head>

<body>

<form autocomplete="on">
    <strong> <div style='color:darkblue'> A Simple Form </div> </strong>
<br/>
<i> <div style='color:Lightblue'> Form Fundamentals </div> </i>

 <fieldset>
  <legend>Customer Info:</legend>
 <label for="Name">Name:</label>  <input type="text" name="Name" id="Name" placeholder="Enter Your Name" autofocus required/><br/><br/>
  <label for="Telephone">Telephone:</label> <input type="text"  id="Telephone" name="Telephone" placeholder="Pattern: 1-234-567-8910" pattern="[0-9]{1}-[0-9]{3}-[0-9]{3}-[0-9]{4}" required/><br/>
 <br/><label for="Emailaddress">Email address:</label> <input type="text" name="Emailaddress" id="Emailaddress" placeholder="Enter Your Email address" multiple required/>
                  
 </fieldset>
 
 
 <fieldset>
  <legend> Books</legend>
  <input type="text" name="Books" list="countries"> <datalist id="countries">
					
					</datalist>
 <label for="Quantity"> Quantity </label> (Maximum 5): <input type="number" name="Quantity"  id="Quantity" max="5" min="1"> <br>

 </fieldset>
 
 <br>
<input type="submit" name="submit" value="Submit">
 
</form>
</body>
</html>

错误:testWeb(htmlpackage.WebTestBookform): 请检查每个标签的规格 假的

  • 图片

更新:当我使用电子邮件类型作为电子邮件时,它显示错误,因此我避免使用它。

【问题讨论】:

  • 我只是好奇,在那个网站上真的是&lt;lable&gt; 而不是&lt;label&gt;
  • 我认为 for="Email address"name="Email address" 你必须使用 non-spacing 值?试试改成EmailAddress什么的?
  • 并且for属性应该等于id而不是相关元素的name
  • 我更改了名称,但显示相同的错误..
  • 我把标签改成了标签

标签: css html html-table forms


【解决方案1】:

标记中有一些错误,缺少&lt;!DOCTYPE html&gt;。您可以先使用validator 检查代码。

【讨论】:

  • 由于代码来自网站,我们真的不知道该网站检查错误的严格程度。 &lt;!DOCTYPE html&gt; 不是强制包含但非常有用,所以大多数人都需要它
  • 我们如何允许电子邮件的多个值?
【解决方案2】:

只需将&lt;lable ...&gt; Quantity &lt;/lable&gt; 更改为&lt;label&gt;。我认为这只是错字。但要小心datalist 标签。 Safari 不支持它,因此您没有跨浏览器兼容性。 See datalist docs

下一个:

  • 基于@l2aelba 评论。您应该为标签 for 使用非空格值。
  • &lt;form&gt; 需要定义动作属性
  • 如果您使用像 &lt;input&gt; &lt;br&gt; 这样的单个标签,则需要使用 SHORTTAG。 &lt;input /&gt; &lt;br/&gt;
  • 您不能在inline-block 中使用block 元素。您已使用&lt;strong&gt;&lt;div&gt;...&lt;/div&gt;&lt;/strong&gt;。无效。
  • 首先基于@itacode 的回答,您需要使用&lt;!DOCTYPE html&gt; 标签,因为验证器检测HTML 4.1 的版本

【讨论】:

  • 检查OP的评论,即使将&lt;lable&gt;更改为&lt;label&gt;,错误仍然出现
  • 对不起,当我写这个答案时,评论没有出现
  • 我们如何允许电子邮件有多个值?
  • 所以您想在一个字段中添加多封电子邮件?
  • 是的,当我在某些答案中给出验证时,它给出了这个错误::此时元素输入上不允许使用多个属性。
【解决方案3】:

你应该在表单标签中写 autocomplete="on" 而不仅仅是 autocomplete..

【讨论】:

    猜你喜欢
    • 2020-09-21
    • 2010-12-24
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多