0

私は2つのJavaScript関数を持っています

1.

function ValidateGVEducation() {            

        var grid = document.getElementById('<%= gvEducation.ClientID %>');
        var ddlQuali, ddlUni, ddlInsti, ddlAreaS, ddlStat;

        //alert(grid.rows[1].cells[2].getElementsByTagName("*")[0].value);
        if (grid.rows.length > 0) {
            for (var i = 1; i < grid.rows.length; i++) {
                ddlQuali = grid.rows[i].cells[1].getElementsByTagName("*")[0];
                ddlUni = grid.rows[i].cells[2].getElementsByTagName("*")[0];
                ddlInsti = grid.rows[i].cells[3].getElementsByTagName("*")[0];
                ddlAreaS = grid.rows[i].cells[4].getElementsByTagName("*")[0];
                ddlStat = grid.rows[i].cells[6].getElementsByTagName("*")[0];
                if (ddlQuali.options[ddlQuali.selectedIndex].value != "0" ){
                    if (ddlUni.options[ddlUni.selectedIndex].value == "0" || ddlInsti.options[ddlInsti.selectedIndex].value == "0" || ddlAreaS.options[ddlAreaS.selectedIndex].value == "0" || ddlStat.options[ddlStat.selectedIndex].value == "0") {
                        alert('Fill Education Details');
                        return false;
                    }
                }

            }

            return true;
        }
        else return false;
    }

この関数は別の関数で呼び出されます

   function validateControlsForSubmit(){
    if (ValidateGVEducation()) {
       alert('Fill Education Details');
       return false;
     }     
    return true;
   }  

後で関数が保存ボタンで呼び出されます.aspxコードビハインドが実行されているアラートを表示した後..この場合、falseを返すことは機能しません..

関数呼び出しは

<asp:Button ID="btnSave" runat="server" onclick="btnSave_Click" Text="Save" 
                     onclientclick="return validateControlsForSubmit();"  />

ありがとうございました。

4

1 に答える 1

0

jQuery の使用:

<asp:Button ID="btnSave" runat="server" onclick="btnSave_Click" Text="Save" />

$("#<%=btnSave.ClientID%>").on("click", function(event){
    if (ValidateGVEducation()) {
       alert('Fill Education Details');
      event.preventDefault();
     } 
});
于 2012-10-19T09:46:41.413 に答える