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 部分だけが実行されていません。
また、 onclientclick の関数名とともに return false を入れてみましたが、これも機能しませんでした。

よろしくお願いします。

4

2 に答える 2

0

設定

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

設定した場合

OnClientClick="return validate() ;"

検証に合格したかどうかに関係なく、常に返され、ポストバックがトリガーされることはありません。

于 2013-01-02T06:00:50.493 に答える
0

aspx ページからAutoPostback="false"とを削除します。UseSubmitBehavior="false"それはあなたのために働くでしょう。

于 2013-01-02T09:49:29.527 に答える