19

.prop( "disabled"、false)に問題があり、OperaとFirefoxでは正常に動作しますが、IEとchromeでは動作しません。

実はそれはインビネーションフォームで、このような送信ボタンを作成します

<input id="sendInvite" class="mail_send" disabled="disabled" type="button" name="invite" value="Send">

そしてここにcssがあります

.mail_send[disabled="disabled"] {background-color:#343434; color:#747474}

ボタンが無効になっていてクリックできないことがわかるように、ボタンを削除して無効にした後、最初に名前とメールを入力してメールを送信する必要があります。このimの書き込みコードは次のとおりです:http: //pastebin.com/8u23G90b

しかし、ここで何かが間違っています。ChromeとIEが無効になっている場合、ボタンから削除されることはありません。imもjquery1.7.1をロードします。

ps私の英語でごめんなさい

4

5 に答える 5

23

属性を削除します。

$('button').removeAttr("disabled");

詳細については、 .removeAttr()を参照してください。

于 2012-02-11T13:27:58.163 に答える
2

問題は JQuery ではなく、CSS セレクターにあります。disabled属性は、要素が実際に無効になっているかどうかではなく、ページが最初に読み込まれたときのデフォルト値を参照しています。

必要な CSS セレクターは:disabled セレクターです。

.mail_send:disabled {background-color:#343434; color:#747474}

この jsfiddleで例を見ることができます。

于 2013-07-24T22:52:13.123 に答える
-1

そのように書いてみてください:

$('myButton').prop("disabled", "");
于 2012-02-11T13:11:42.160 に答える
-1

ボタンとライブを使用するだけです:

<button class="sendm">Send Email</button>

$(".sendm").live("click", function(e){
   var field1 = $("").val();
   var field2 = $("").val();

   if(field1 === "" || field2 === "" ){
    /// fake checker, you make this more robust etc
     return false;  // maybe do an alert here
   } else {
      //post form data and get json response
   }

});

 $(document).ready(function(){ $(".sendm").button(); });
于 2012-02-11T13:14:20.127 に答える