私のページには2つのラジオボタンのグループがあります。ラジオボタン2をクリックすると、検索ボタンがアクティブになります。ユーザーがこの検索ボタンをクリックすると、jQuery .ajaxコールを使用してデータが検索され、jqGridに表示されます。OnClientClick(またはHTMLのonclick)がasp:Buttonのために存在しない= Enabled = falseを使用する場合
起動時に検索ボタンを無効にする必要があります。無効にすると、ユーザーがクリックすると何も起こりません。
ボタンは、ASPのボタンであるとして、私は次のように有効に使用します。ここでは
<asp:Button ID="btnSearch" Text="Search" UseSubmitBehavior="false" runat="server" Enabled="false" OnClientClick="return SearchAccessCode()" />
は、ラジオボタングループのトグルを処理/検出するためのコードです:
$('input[name$=radioGroup]').change(function() {
if ($('input[name$=radioGroup]:checked').val() == "rbFirst") {
$('#<%=btnSearch.ClientID%>').prop('disabled', true);
}
else {
$('#<%=btnSearch.ClientID%>').prop('disabled', false);
}
}
私は私のページをデバッグするとき、後2番目のラジオボタン(rb秒)をクリックすると、検索ボタンが有効になります。私はそれをクリックして何も起こらない!私は生成されたHTMLをチェックし、それが他のボタンと異なることを確認します。それに関連するonclick()はありません!ウェブから
<input type="button" name="ctl00$MainContent$btnSearch" value="Search" id="MainContent_btnSearch" disabled="disabled" class="aspNetDisabled" />
、私はEnabled
はHTMLでdisabled
にtransatedされることを知っています。だから私はEnabled
をdisabled
に置き換えます。
<asp:Button ID="btnSearch" Text="Search" UseSubmitBehavior="false" runat="server" Disabled="True" OnClientClick="return SearchAccessCode()" />
は、生成されたHTMLを開き、それが他のASPボタンと同じである見つけます。意味:それはonclick()を持っています。もちろん、検索ボタンを押すと、実際に検索機能が実行されます。
<input type="button" name="ctl00$MainContent$btnSearch" value="Search" onclick="return SearchAccessCode();__doPostBack('ctl00$MainContent$btnSearch','')" id="MainContent_btnSearch" Disabled="True" />
私は助けることができなかったが、なぜを依頼します。 ASP.NETページにJavascriptを挿入できるので、Enabled="false"
(Microsoftの方法)を使用してボタンを無効にすると、JavaScriptを使用してボタンを有効にすることができます。しかし、この時点では、ボタンとonclick()が指す関数との間の接続が失われます!
なぜ機能を持っていますか?それはとにかく無効になります - 有効にすると、それは機能を返します – Marco
ボタンを有効にした後、ボタンは何もしません。 (私はより多くの情報を与えるために私の質問を編集しました) – user3454439
私の例では、ボタンはonclickイベントを期待どおりにトリガーします。最初は、複数の部分的なポストバックの後に、同様に。 javascriptエラーについては、ブラウザの開発コンソールを確認してください。また、html属性 'disabled'を使用すると、サーバ上で有効にすることはできません。 – Marco