15

我收到文本区域和文本字段上的 inputmode 属性的验证错误。验证器告诉我此时元素输入上不允许使用属性输入模式,HTML5 规范表明它是允许的

这段代码实际上有什么问题,还是验证器有问题?

这是一个简单的案例,它会产生这种验证错误(两次),一种是电子邮件输入,另一种是文本区域。

<!DOCTYPE HTML>
<html lang="en">
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <form method="post" action="contactme.php">         
      <label class='pas block'>
        Your E-Mail:<br/>
        <input type='email' name='email' required inputmode='latin' placeholder='your e-mail here' />
      </label>
        <label class='pas block'>
                Your Message:<br/>
                <textarea name='message' required inputmode='latin' placeholder='and your message here!'></textarea>
        </label>
    </form>
  </body>
</html>
4

3 回答 3

9

此外,请参阅图表,了解哪些属性适用于不同的输入类型:http: //www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#attr-input-类型

“inputmode”属性仅适用于“text”和“search”。

更新 2019-09-04:“inputmode”现在是一个全局属性(根据 WHATWG),可以在任何 HTML 元素上指定:https ://html.spec.whatwg.org/multipage/dom.html#global-attributes

“输入模式”的另一个参考页面: https ://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode

另一方面,“inputmode”不是 W3C HTML5 属性,而是 W3C HTML 5.1 属性(至少在我写这篇文章的时候)。2019-09-04 更新:“inputmode”已从 HTML 5.2 和 HTML 5.3 中删除。

于 2013-09-09T19:55:04.280 回答
1

HTML5 规范说

以下内容属性不得指定且不适用于元素:accept、alt、checked、dirname、formaction、formenctype、formmethod、formnovalidate、formtarget、height、inputmode、max、min、src、step 和 width。

它在https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)的簿记详细信息中

于 2013-02-15T15:18:22.037 回答
1

提出问题五年后,有些人可能想知道为什么@dsas 列出的某些属性不会触发此类错误,例如enctype 答案是简单的支持,而enctype例如 inputmethod仅从 IE11 和 Edge 14 开始支持获得广泛的支持, 更多信息请点击这里

于 2017-08-24T22:24:04.693 回答