使用onclientclick时,onclick无法正常工作

时间:2013-01-02 05:58:40

标签: javascript asp.net .net

设计

<telerik:RadButton ID="RadBtnSubmit" Text="Submit" runat="server" 
            BackColor="#3399FF" ForeColor="White" 
            Height="30px" Width="100px" ButtonType="LinkButton" AutoPostBack="false"
            OnClientClick="return validate();" 
            UseSubmitBehavior="false" 
            OnClick="RadBtnSubmit_Click"/>

的javascript:

    <telerik:RadCodeBlock ID="RadCodeBlock2" runat="server">
    <script type="text/javascript" language="javascript">
        function validate() {
            var CompanyName = /^[A-Za-z0-9]{3,20}$/;
            var txtCompanyName = document.getElementById('<%=radtxtCompanyName.ClientID %>').value;
            if (!CompanyName.test(txtCompanyName)) {
                document.getElementById("<%=radtxtCompanyName.ClientID %>").style.borderColor = "red";
                 alert("false");
                return false;
            }
            alert("true");
            return true;
        }
    </script>
    </telerik:RadCodeBlock>

此按钮位于更新面板中。 在客户端点击单独工作,我正在根据条件正确收到警报。
但我的onclick部分单独没有被执行。
我也尝试将返回false与函数名称一起放在onclientclick中,但也无法正常工作。

先谢谢朋友。

2 个答案:

答案 0 :(得分:0)

设置

OnClientClick="if(!validate()) return;"

如果您设置

OnClientClick="return validate() ;"

无论您的验证是否通过,它总是返回,并且后期从未触发过。

答案 1 :(得分:0)

从您的aspx页面中删除AutoPostback="false"UseSubmitBehavior="false"。它会对你有用。