0

チェックボックスの項目をチェックしてから、チェックした項目をボックスに追加する追加ボタンをクリックする必要があります。チェックボックスの項目をチェックした後、追加ボタンをクリックすると、エラーが発生します.IE9でのみ発生します。

Microsoft JScript ランタイム エラー: プロパティ 'checked' の値を取得できません: オブジェクトが null または未定義です

私のjsページコードは次のとおりです。

document.onkeyup = fnRemoveSelectedItems;
//Global variables 
var cssGridrow="gridrow";
var cssGridalteraterow="gridalteraterow";
var selectedItems=new String();
var pickItemSelected="1";
var isOnsiteLoc = 0;

/*Function that adds the selected items to the text box in the pick up box */
function fnPickUpAdd(btnOKClientId, lstFromClientId, txtBoxClientId, ColumnToTake) {
    //enable the ok button
    document.getElementById(btnOKClientId).disabled=false;
    //From grid Object
    var lstFrom=document.getElementById(lstFromClientId);
    //to textbox Object
    var txtBoxObject=document.getElementById(txtBoxClientId);

    //If the lstFromClienId is location then iteration occurs.
    if (lstFromClientId.search(/Location/i) > 0) {
        //Iterating only with in the grid rows to check if the location is onsite
        for (var i = 1; i < lstFrom.rows.length; i++) {
            var CheckBoxId = lstFrom.rows[i].cells[0].childNodes[0].id;
            if (document.getElementById(CheckBoxId).checked && lstFrom.rows[i].cells[6].innerText != null && lstFrom.rows[i].cells[6].innerText == "True") {
                isOnsiteLoc = 1;
                break;
            }
        }
    }
    //Iterating only with in the grid rows to get the selected SOIDs
    for(var i=0;i<lstFrom.rows.length; i++) {
        if(lstFrom.rows[i].className==cssGridrow || lstFrom.rows[i].className==cssGridalteraterow) {
            var childRowCheckBoxId=lstFrom.rows[i].cells[0].childNodes[0].id;
            if(childRowCheckBoxId!= "") {
                if(document.getElementById(childRowCheckBoxId).checked) {
                    //locationmatchFor = "1" for all scenarios except for location pick up in search
                    // so for this we would take the value in cells[1]
                    if(ColumnToTake=='1'){ //From Preferences 
                        if(findMatchValue(txtBoxObject, lstFrom.rows[i].cells[1].innerText)==false) {
                            //show that in the text box
                            txtBoxObject.innerHTML+="<span onclick='fnSelectItem(this)' isItem=1>"+lstFrom.rows[i].cells[1].innerText+";</span>";

                            //Form this to pass the selected items to the parent page
                            //selectedItems+=(lstFrom.rows[i].cells[1].innerText)+":"+(lstFrom.rows[i].cells[2].innerText);
                            selectedItems+=(lstFrom.rows[i].cells[1].innerText);
                            selectedItems+=";";
                        }
                    }
                }
            }
        }
    }
}
4

3 に答える 3

0

以下を html の head に追加します。

<meta http-equiv="X-UA-Compatible" content="IE=8" />
于 2015-01-15T20:43:57.120 に答える
-1

私の推測では、あなたのForループでは、グリッドの最後の行を過ぎてループしています。プロパティをチェックLengthして、カウントに「ページ番号行」が含まれているかどうかを確認します。 i < Length - 1私のために働いた。

于 2013-11-21T01:46:48.163 に答える