0

设计:

<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 部分是单独没有被执行的。
我还尝试将 return false 与函数名称一起放在 onclientclick 中,但这也不起作用。

提前感谢朋友。

4

2 回答 2

0

从您的 aspx 页面中删除AutoPostback="false"和删除。UseSubmitBehavior="false"它会为你工作。

于 2013-01-02T09:49:29.527 回答
0

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

如果你设置

OnClientClick="return validate() ;"

无论您的验证是否通过,它都会返回,并且不会触发回发。

于 2013-01-02T06:00:50.493 回答