我在文本区域和文本字段上使用inputmode属性获得验证错误。验证器告诉我此时元素输入上不允许属性inputmode ,但是the HTML5 spec indicates that it is allowed。
这段代码确实有问题,或验证器是否有错?
这是一个简单的案例,它会产生这种验证错误(两次),一种是在电子邮件输入上,另一种是在textarea上。
<!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>
答案 0 :(得分:9)
另外,请参阅此处有关哪些属性适用于不同输入类型的图表: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#attr-input-type
“inputmode”属性仅适用于“text”和“search”。
另一方面,“inputmode”不是W3C HTML5属性,但它是W3C HTML 5.1属性(至少在我写这篇文章的时候)。
请尝试http://www.OnlineWebCheck.com/以获得更好的错误/警告消息。
答案 1 :(得分:3)
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)
的簿记详细信息下答案 2 :(得分:1)
问题提出五年后,有些人可能会想知道为什么@dsas列出的某些属性不会触发此类错误,例如enctype
答案是简单的支持,而enctype
获得了广泛的支持
仅从IE11和Edge 14开始支持inputmethod
,更多信息点击here