【问题标题】:asp.net-javascript validationasp.net-javascript 验证
【发布时间】:2014-01-12 20:54:51
【问题描述】:

我有一个按钮..我想使用 javascript 来验证按钮单击时的某些字段,如果验证已通过,我需要执行后面代码中的代码..请大家有任何建议!

提前致谢。

这是我的javascript:

function validateFields() {

    function checkCampaignStatus() {
        var rdbCampStatus = document.all('<%=rdbCampStatus.ClientID%>');
        var radio = rdbCampStatus.getElementsByTagName("input");
        var isChecked = false;
        for (var i = 0; i < radio.length; i++)
        {
            if (radio[i].checked)
            {
                isChecked = true;
                break;
            }
        }
        if (!isChecked)
        {
            showOk('Save/Close', 'Please fill in all mandatory fields');
            document.getElementById('popupControl').style.display = 'block';
            document.getElementById('divEntryMain').style.display = 'none';
            document.getElementById('divBuilderMain').style.display = 'none';
            return false;
        }
        return true;
    }

    function checkCreatedBy() {
        var createdBy = document.all('<%=txtCreatedBy.ClientID%>').value;
        if (createdBy == "")
        {
        return false;
        }
    }
}

【问题讨论】:

  • 错误是什么?是不是在js函数里

标签: asp.net


【解决方案1】:

OnClientClick 的按钮调用验证函数。如果验证正常,则返回 true,否则返回 false。如果验证正常,则返回 true,它将调用服务器端方法。

【讨论】:

    【解决方案2】:

    你能试试这个吗:

    function validateFields() {
      return (checkCampaignStatus() && checkCreatedBy());          
    }
    function checkCampaignStatus() {
            var rdbCampStatus = document.all('<%=rdbCampStatus.ClientID%>');
            var radio = rdbCampStatus.getElementsByTagName("input");
            var isChecked = false;
            for (var i = 0; i < radio.length; i++)
            {
                if (radio[i].checked)
                {
                    isChecked = true;
                    break;
                }
            }
            if (!isChecked)
            {
                showOk('Save/Close', 'Please fill in all mandatory fields');
                document.getElementById('popupControl').style.display = 'block';
                document.getElementById('divEntryMain').style.display = 'none';
                document.getElementById('divBuilderMain').style.display = 'none';
                return false;
            }
            return true;
        }
    
        function checkCreatedBy() {
            var createdBy = document.all('<%=txtCreatedBy.ClientID%>').value;
            return (createdBy == "");
        }
    

    HTH

    【讨论】:

      【解决方案3】:

      aspx部分:

       <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return javascriptFunction()" OnClick"Button_Click"/>
      

      JavaScript 部分:

       function javascriptFunction()
       {
            //Get the asp.net server controls using the following code
             var textbox=document.getElementById('<%=txtID.ClientID %>');
      
             var label=document.getElementById('<%=lblID.ClientID %>');
      
            if(textbox.value=="")
            {
               label.innerHTML="this is a required field";
               return false;// This will stop at client side and skip server side execution
            }
            else
            {
               return true;//This will execute the server side event
            }
      
       }
      

      希望这会有所帮助...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-05
        • 2012-10-09
        • 2010-09-28
        • 1970-01-01
        相关资源
        最近更新 更多