使用javascript函数在chrome和firefox中不起作用的gridview行中应至少选中一个复选框
At least One Check box should be checked in gridview rows using javascript function not working in chrome and firefox
网格视图行中的复选框验证检查问题
嗨,我写了如下的js函数,它将用于检查至少一个复选框,应该在侧网格视图行中选中,在点击提交按钮之前,这段代码在IE中运行良好,但在Firefox和chrome中失败了,有人能告诉我哪里错了吗。
Hers是的函数
function ClientCheck() {
var valid = false;
var gv = document.getElementById("ctl00_cplContent_gvCurrenttarrif");
for (var i = 0; i < gv.all.length; i++) {
var node = gv.all[i];
if (node != null && node.type == "checkbox" && node.checked) {
valid = true;
break;
}
}
if (!valid) {
alert("Invalid. Please select a checkbox to continue with changes.");
}
return valid;
}
Element.all不是标准的,所以您不应该使用它。请改用childNodes。
按照以下方式更改代码。
function ClientCheck() {
var valid = false;
var gv = document.getElementById("ctl00_cplContent_gvCurrenttarrif");
for (var i = 0; i < gv.childNodes.length; i++) {
var node = gv.childNodes[i];
if (node != null && node.type == "checkbox" && node.checked) {
valid = true;
break;
}
}
if (!valid) {
alert("Invalid. Please select a checkbox to continue with changes.");
}
return valid;
}
最好使用jQuery或类似的库来访问DOM元素。
例如,使用jquery
var checkedBoxesCount = $("<%=gvCurrenttarrif.ClientID%>").find("input:checkbox:checked").length;
if(checkedBoxesCount==0) alert("NO CHECKBOX SELECTED");
突出注释罗摩克里希纳-p作为答案:
http://forums.asp.net/t/1932293.aspx?Check+框+验证+检查+问题+输入+网格视图+行+
工作代码为:
function ClientCheck() {
var valid = false;
var gv = document.getElementById("ctl00_cplContent_gvCurrenttarrif");
for (var i = 0; i < gv.getElementsByTagName("input").length; i++) {
var node = gv.getElementsByTagName("input")[i];
if (node != null && node.type == "checkbox" && node.checked) {
valid = true;
break;
}
}
if (!valid) {
alert("Invalid. Please select a checkbox to continue with changes.");
}
return valid;
}
相关文章:
- 复选框:一次只允许单击一个复选框
- jquery从2个json字符串构建一个复选框表单
- 聚合物铁形式验证至少选中一个复选框
- 我有多个复选框,并希望为其中 2 个制定规则,以便如果我选择 1 个,则无法选择另一个
- 如何从多个复选框中获取最后一个值
- 选中复选框的Jquery/Javascript问题使用输入框操作将行从一个表添加到另一个表
- 在单击一个或多个复选框的同时调用iframe
- 如何创建只允许用户在选中前一个复选框的情况下选择复选框的复选框验证
- 复选框一次选中一个不在gridview中工作
- 如果选中了以下复选框,请选中上一个复选框
- 复选框一次选中一个不起作用
- 如何创建一个新的<李>带有复选框或<a>在里面
- 在一组复选框中,一次只允许选择一个
- 如何通过jQuery选中所有复选框并在单击一个复选框时取消选择
- 如何发现至少有一个复选框被选中或没有使用javascript
- 在mvc4中选择另一个复选框时禁用复选框
- 导航到另一个页面后,复选框状态会更改
- Javascript选中一个表中的所有复选框,该表的行具有样式显示标记
- 在服务器上创建一个复选框,使用 javascript 处理函数
- 选择一个从 mysql 返回选中/未选中复选框的对象