如何确定是否已以编程方式检查无线电
How to identify whether or not a radio has been checked programmatically?
我有一个表单页面,用户可以在其中输入ID,相应的配置文件数据从mysql中提取并显示在表单中,以便用户可以对其进行编辑。
一个元素是一组收音机,因此您可以选择一个年级(即"1"、"2"、"3"等)。
当用户提供 ID 时,将进行 AJAX 调用以使用数据预填充表单,包括选择适当的无线电。
问题:
用户必须选择年份级别才能提交表单。我用verifyForm()
的方法检查这一点:
function verifyForm() {
if( !document.addStudentForm.elements["yearLevel"].checked ) {
alert( "You must select a year level before submitting." );
return false;
}
};
我希望这会检查yearLevel
,如果未选择某个选项,则警报/返回 false。
但是,当 AJAX 数据预先选择yearLevel
无线电时,这仍然像用户没有选择无线电一样。
无线电由 js 通过以下代码填充:
document.getElementById( "yearLevel_<?=$student['student']->get('yearLevel')?>" ).checked = true;
编辑:这是相关的 HTML。
<form name="addStudentForm" action="validation/updateStudentValidate.php" method="POST" onSubmit="return verifyForm()">
<input type="radio" value="1" name="yearLevel" disabled id="yearLevel_1" /> 1
<input type="radio" value="2" name="yearLevel" disabled id="yearLevel_2" /> 2
<input type="radio" value="3" name="yearLevel" disabled id="yearLevel_3" /> 3
<input type="radio" value="4" name="yearLevel" disabled id="yearLevel_4" /> 4
<input type="radio" value="5" name="yearLevel" disabled id="yearLevel_5" /> 5
<input type="radio" value="6" name="yearLevel" disabled id="yearLevel_6" /> 6
</form>
问题:
如何让我的 javascript 正确识别无线电是否已被选中,无论它是手动选择还是以编程方式选择的?
取自这篇 StackOverflow 帖子并针对此示例和速度进行了调整,您可以在 AJAX 成功返回中拥有以下内容:
var radios = document.getElementsByName('yearLevel'),
i = radios.length,
isChecked = false;
while(i--){
if (radios[i].checked) {
isChecked = true;
break;
}
}
然后,当调用该函数时:
function verifyForm(){
if(!isChecked){
alert( "You must select a year level before submitting." );
return false;
}
};
这是假设您的 HTML 中没有任何名称为 yearLevel
的任何其他项目。
这实际上会返回值,我想我不确定您是否要查看选中的特定项目,或者只是它们已被选中。此函数将同时执行这两项操作。
相关文章:
- 在node.js中,如何以最轻量级的方式检查给定的代码字符串在语法上是否正确
- 如何确定是否已以编程方式检查无线电
- 使用jsTree以编程方式检查复选框节点
- 检查身份验证的安全方式(NodeJS/Express)
- 多重检查的最佳方式是按角度排列
- 检查给定变量的最佳方式是NaN还是非NaN
- 在响应请求之前,web服务器可以通过何种方式检查是否重定向现有页面上的GET请求
- 以优雅的方式检查多个参数的存在
- 如何以编程方式检查Bootstrap按钮组(单选)按钮
- 骨干应用程序以通用的方式检查互联网连接
- Chrome扩展:以编程方式检查元素和"复制xpath"或者“复制CSS路径”
- 以有效的方式检查多个变量是否为空、未定义或空
- 以编程方式检查安装了哪个版本
- 如何以编程方式检查iframe是否会被站点阻止?
- 如何使用jQuery验证插件以编程方式检查表单是否有效
- 如何使用Ranorex以编程方式检查ng模型绑定输入字段的值
- 以无法检测的方式检查 WebSocket 帧
- 接受输入并以相反的方式检查掩码
- AngularJS -以编程方式检查过滤器是否存在
- 如何在angular中以编程方式检查元素和添加类