2

jquery-1.7.1 を使用しており、asp.net でボタンを非表示にしようとしています。ボタンは linkbutton コントロールです。使用しているコードは次のとおりです

function checkDisabledButton(btn){
    var mbtn = $('#' + btn)
    mbtn.prop('disabled', true);
};

ボタンは IE では無効になりますが、Chrome と Firefox では無効になりません。私はそれについて多くの投稿を見てきました..しかし、それらのほとんどは、私たちがすでに使用しているjQuery 1.7..が必要であると話しています。誰かが手を貸してくれることを望んでいました。

応答を見た後、input type=submit としてレンダリングされる asp:button に変更することを検討していました。私が本当に欲しいのは、関数を呼び出してコントロールを無効にすることです。そのようにして、マルチパルボタンとマルチパルページに同じ機能を使用できます。私はまだそれを機能させていませんが、それを念頭に置いて..誰かが助けを続けてくれることを望んでいました. 呼び出されるボタン コントロールは次のとおりです。

<asp:Button ID="lbApprove" runat="server" CssClass="ButtonPrimary button" Text="Approve" OnClientClick="return tryIt(this, 'PROCESSING');"/>

tryIt は、クリックされたボタンのテキストを、渡したもの (この場合は「PROCESSING」) に変更します。繰り返しますが、ボタンを一度だけクリックできるようにしたいです。私は .one と .on と .off を見てきましたが、まだ運がありません。これまでのところ試しただけなので、この時点ではコードを投稿していません...

これが最新のもので、最初の試みはうまくいくようです。それはjQueryではありません..しかし、スタートかもしれません。ページのポストバックが発生する前にボタンを無効にします。この記事から来ています。正しい出発点が必要です:)

http://aspsnippets.com/Articles/Disable-Button-before-Page-PostBack-in-ASP.Net.aspx

4

1 に答える 1

3

リンク ボタンの場合は、アンカーとしてレンダリングされます。このdisabled属性は、アンカーの標準属性ではありません。IE が機能するという事実は、非標準/未規定の動作です。

証拠として、jquery ではなく html 属性http://jsfiddle.net/5htFh/を使用して無効に設定しているこの jsfiddle を参照してください。FF ではまだ続くことに注意してください。したがって、とにかく失敗するのはjqueryではありません。disabledそれは、html4 仕様の下でアンカーのオプションではないという事実です。

他の人がアンカーでこれを行うことを推奨する方法については、この SO スレッドを参照してください: How to enable or disable an anchor using jQuery?

于 2013-02-22T21:34:57.283 に答える