Javascript 收音机/复选框';必需的';表单中的属性?

Javascript 收音机/复选框';必需的';表单中的属性?,javascript,html,css,material-design,material-design-lite,Javascript,Html,Css,Material Design,Material Design Lite,MDL版本:1.3.0 浏览器:谷歌浏览器55.0.2883.87米 操作系统:Windows10 我正在尝试使用MDL进行一个简单的调查。以收音机或复选框作为答案的问题列表。在加载页面时,不会预先选中收音机/复选框,用户必须选中收音机或每个答案至少选中一个复选框。 如果用户没有为至少一个问题选择答案,则在单击提交按钮时应显示标准通知(弹出窗口,指向第一个单选框/复选框,文本为“请选择此选项之一”) 我正在使用radio的required属性,但是当提交所需的弹出窗口时,它只是“闪烁”(显示和隐

MDL版本:1.3.0

浏览器:谷歌浏览器55.0.2883.87米

操作系统:Windows10

我正在尝试使用MDL进行一个简单的调查。以收音机或复选框作为答案的问题列表。在加载页面时,不会预先选中收音机/复选框,用户必须选中收音机或每个答案至少选中一个复选框。 如果用户没有为至少一个问题选择答案,则在单击提交按钮时应显示标准通知(弹出窗口,指向第一个单选框/复选框,文本为“请选择此选项之一”)

我正在使用radio的required属性,但是当提交所需的弹出窗口时,它只是“闪烁”(显示和隐藏非常快),并且没有正确显示

简单的演示正在进行中




弗斯特
第二

提交
问题不在代码中。它只是这样工作的。真正的问题在于脚本

用于设置提交按钮样式的引导脚本未使用所需选项。 如果你想检查它,请对它进行注释,你的代码将按照你的意愿工作。消息不会像闪电一样发出

解决方案:
您可以在Submit按钮上使用Javascript函数,该函数将检查是否标记了上述两个字段之一。

CSS中存在问题。如果您隐藏输入(没有宽度/高度和外观=
none
),则错误消息只会显示很短的时间。如果输入不可见,这可能是预期的浏览器行为

此解决方法将有所帮助,但可以肯定的是,您必须处理其他类型表单输入中的其他问题:

.mdl-radio.is-upgraded .mdl-radio__button {
position: absolute;
width: 1px;
height: 1px;
margin: 0;
padding: 0;
opacity: 0;
-ms-appearance: radio;
-moz-appearance: radio;
-webkit-appearance: radio;
appearance: radio;
border: none;
margin-left: -20px;
}

代码笔:

非常相似的问题:

.mdl-radio.is-upgraded .mdl-radio__button {
position: absolute;
width: 1px;
height: 1px;
margin: 0;
padding: 0;
opacity: 0;
-ms-appearance: radio;
-moz-appearance: radio;
-webkit-appearance: radio;
appearance: radio;
border: none;
margin-left: -20px;