简体   繁体   English

使用onclientclick时onclick不起作用

[英]onclick not working when onclientclick is used

Design: 设计:

<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: 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>

This button is present inside an update panel. 此按钮位于更新面板中。 On Client Click alone is working and i am getting alerts correctly according to the condition. 在Client Click上,单独工作是正常的,并且我正在根据情况正确接收警报。
But my onclick part is alone not getting executed. 但是我的onclick部分没有得到执行。
I also tried putting return false along with function name in onclientclick that also did not work. 我还尝试在函数onclientclick中将return false和函数名一起放置,但这也没有用。

Thanks in advance Friends. 在此先感谢朋友。

set

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

If you set 如果您设定

OnClientClick="return validate() ;"

It always return no matter your validation is passed or not, and the post-back never triggered. 无论是否通过验证,它始终返回,并且永远不会触发回发。

remove AutoPostback="false" and UseSubmitBehavior="false" from your aspx page. 从aspx页面中删除AutoPostback="false"UseSubmitBehavior="false" It will work for you. 它将为您工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM