HTML5必需属性似乎不起作用

时间:2013-07-31 09:20:49

标签: html5 required

我无法弄清楚为什么HTML5的新必需属性似乎不起作用,而且我知道我的简单代码似乎没问题。我应该怎么做才能使这项工作?

以下是我的HTML代码:

<input type = "text" class = "txtPost" placeholder = "Post a question?" required>
<button class = "btnPost btnBlue">Post</button>

如果我错了,请纠正我但是,如果我在浏览器中运行代码并单击文本框中没有任何值的按钮,它应该有一个工具提示,表明该字段是必需的,不应该吗?但无论你点击按钮多少次都没有任何反应。我是否误解了如何使用必需的属性?

我在谷歌浏览器Version 28.0.1500.72中运行我的代码。

9 个答案:

答案 0 :(得分:19)

确保未将novalidate属性设置为表单标记

答案 1 :(得分:18)

尝试将其放入表单标记并关闭输入标记:

<form>
  <input type = "text" class = "txtPost" placeholder = "Post a question?" required />
  <button class = "btnPost btnBlue">Post</button>
</form>

答案 2 :(得分:4)

只要在按钮上添加了type="submit"就可以了。

 <form action="">
    <input type="text" placeholder="name" required>
    <button type="submit">Submit</button>
</form>

答案 3 :(得分:2)

实际上,当我尝试这个时,它只在我为表单设置动作和方法值时起作用。有趣的是它如何工作!

答案 4 :(得分:0)

我的回答为时已晚,但可以帮助其他人。

即使使用表单标签,我也遇到同样的问题。

我通过在页面标题中声明Meta Charset来解决了这个问题:

<meta charset = "UTF-8" />

答案 5 :(得分:0)

使用表单封装并添加按钮类型“提交”

答案 6 :(得分:0)

晚了七年,但我遇到了类似的问题,我意识到这是由于提交表单刷新页面造成的。由于我将其设置为在提交时不自动刷新,因此我有足够的时间查看浏览器实际需要输入的内容。

答案 7 :(得分:-1)

是的,你错过了表格封装:

JSFiddle

<form>
   <input id="tbQuestion" type="text" placeholder="Post a question?" required/>
   <input id="btnSubmit" type="submit" />
</form>

答案 8 :(得分:-6)

将它放在表格标签中,方法是POST

如果使用MVC然后从你的jquery检查文本是否填充,则返回它自动显示消息