我只是想知道如何在单选按钮上正确使用新的HTML5输入属性。 是否每个单选按钮字段都需要以下属性? 还是只有一个领域就足够了?
<input type="radio" name="color" value="black" required="required" />
<input type="radio" name="color" value="white" required="required" />
#1楼
如果您已自定义单选按钮,例如,单选按钮的原始图标已通过css display:none
隐藏,那么您可以创建自己的单选按钮,则可能会收到错误消息。
解决此问题的方法是将display:none
替换为opacity:0
#2楼
这是必需的单选按钮的非常基本但现代的实现,带有本地HTML5验证:
body {font-size: 15px; font-family: serif;} input { background: transparent; border-radius: 0px; border: 1px solid black; padding: 5px; box-shadow: none!important; font-size: 15px; font-family: serif; } input[type="submit"] {padding: 5px 10px; margin-top: 5px;} label {display: block; padding: 0 0 5px 0;} form > div {margin-bottom: 1em; overflow: auto;} .hidden { opacity: 0; position: absolute; pointer-events: none; } .checkboxes label {display: block; float: left;} input[type="radio"] + span { display: block; border: 1px solid black; border-left: 0; padding: 5px 10px; } label:first-child input[type="radio"] + span {border-left: 1px solid black;} input[type="radio"]:checked + span {background: silver;}
<form> <div> <label for="name">Name (optional)</label> <input id="name" type="text" name="name"> </div> <label>Gender</label> <div class="checkboxes"> <label><input id="male" type="radio" name="gender" value="male" class="hidden" required><span>Male</span></label> <label><input id="female" type="radio" name="gender" value="male" class="hidden" required><span>Female </span></label> <label><input id="other" type="radio" name="gender" value="other" class="hidden" required><span>Other</span></label> </div> <input type="submit" value="Send" /> </form>
尽管我非常支持使用本机HTML5验证的简约方法,但从长远来看,您可能希望将其替换为Javascript验证。 Javascript验证使您可以更好地控制验证过程,并允许您设置真实的类(而不是伪类)来改善(有效)字段的样式。 如果Javascript损坏(或缺少),则可以使用本机HTML5验证。 您可以在这里找到一个示例,以及受安德鲁·科尔 ( Andrew Cole)启发的有关如何制作更好形式的其他建议。
#3楼
您可以使用此代码段...
<html>
<body>
<form>
<input type="radio" name="color" value="black" required />
<input type="radio" name="color" value="white" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
在选择语句之一中指定“ required ”关键字。 如果要更改其外观的默认方式。 您可以按照以下步骤。 如果您打算修改默认行为,这只是为了提供更多信息。
将以下内容添加到您的.css
文件中。
/* style all elements with a required attribute */
:required {
background: red;
}
有关更多信息,您可以参考以下URL。
https://css-tricks.com/almanac/selectors/r/required/
#4楼
为无线电组的至少一个输入设置required
属性。
所有输入required
的设置更加清晰,但不是必需的(除非动态生成单选按钮)。
要对单选按钮进行分组,它们必须全部具有相同的name
值。 这允许只有一个在同一时刻被选择并应用required
对整个组。
<form> Select Gender: <label><input type="radio" name="gender" value="male" required>Male</label> <label><input type="radio" name="gender" value="female">Female</label> <label><input type="radio" name="gender" value="other">Other</label> <input type="submit"> </form>
另请注意:
为了避免对是否需要单选按钮组感到困惑,建议作者在组中的所有单选按钮上指定属性。 实际上,总的来说,鼓励作者避免一开始就没有任何最初检查的控件的单选按钮组,因为这是用户无法返回的状态,因此通常被认为是较差的用户界面。
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3168339