2011-02-04 41 views

回答

23

需要的复选框并不少见。实际上,每个注册表格都使用某种形式的“我已阅读并接受用户协议”复选框。

如果您有Opera,请尝试下面的代码。除非复选框被选中,否则表单不会提交。

<!doctype html> 
 
<html> 
 

 
<head> 
 
    <title>html5</title> 
 
</head> 
 

 
<body> 
 
    <h1>html5 test</h1> 
 
    <form action="/"> 
 
    <input type="checkbox" required="required" id="cb" name="cb"> 
 
    <label for="cb">required checkbox</label> 
 
    <input type="submit"> 
 
    </form> 
 
</body> 
 

 
</html>

7

对于复选框,最好的办法可能是预先选择它并将其设置为禁用。开玩笑。

要确保组中的一个单选按钮已被选中,请从默认选项开始或使用javascript进行验证。没有HTML方法可以做到这一点,因为每个可能的选择都是有效的。

在html5中有复选框的required属性。

它们有点奇怪,所以让我引用一些东西来解释它们是如何工作的。

对于复选框,只有在检查了该表单中具有该名称的复选框中的一个或多个复选框时,才能满足必需的属性。

对于单选按钮,只有当该无线电组中的一个单选按钮被选中时,才能满足所需的属性。

当然,您总是需要验证服务器端,因为客户端可以随时向您发送他想要的任何内容。只需使用这些方法获得更好的用户体验。

+0

+1猜测。极不可能,除非你提出一个更强的论点:) – naveen 2011-02-04 19:02:28

+0

什么猜测?只是根据html5 sepcs – 2011-02-04 19:03:11

+1

+1更新了答案,规范很明确,但这仍然是*怪异*。从用户界面的角度来看,没有任何意义。 – 2011-02-04 19:12:04

0

我刚在在Firefox 4中的单选按钮添加required一个无线输入,然后选择一个之前提交,触发一个“请选择其中一个选项”提示。

E.g.这个工程:

<input type="radio" name="gender" value="m" required /> 
<input type="radio" name="gender" value="f" /> 
7

我在XP SP2测试需要单选按钮属性今天在Firefox 17.0.1。

它似乎符合规定的要求属性的单选按钮/组。当Firefox提示“请选择其中一个选项。”两个下面的代码片段:

要么你设置需要属性每个单选按钮

<input type="radio" name="gender" value="male" required="required" /> 
<input type="radio" name="gender" value="female" required="required" /> 

或任意的一种无线电元件

<input type="radio" name="color" value="blue" /> 
<input type="radio" name="color" value="red" required="required" /> 
<input type="radio" name="color" value="green" /> 

任何意见和更新受欢迎的。