0

グリッドビュー行のチェック ボックスの検証チェックの問題

こんにちは、次のようなjs関数を作成しました。少なくとも1つのチェックボックスをチェックするために使用され、サイドグリッドビュー行でチェックする必要があります。送信ボタンをクリックする前に、このコードはIEでは正常に機能していましたが、FirefoxとChromeでは機能しませんでした。誰がどこが間違っていたのか教えてもらえますか? .

彼女は機能です

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;
}
4

3 に答える 3

1

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;
}
于 2013-08-29T12:08:00.463 に答える
0

DOM 要素にアクセスするには、jQuery または同様のライブラリを使用することをお勧めします。

例 jquery の使用

var checkedBoxesCount = $("<%=gvCurrenttarrif.ClientID%>").find("input:checkbox:checked").length;
if(checkedBoxesCount==0) alert("NO CHECKBOX SELECTED");
于 2013-08-29T12:18:52.667 に答える