2012-02-11 33 views
17

gặp sự cố với .prop ("bị vô hiệu hóa", sai) hoạt động tốt trong opera và firefox nhưng IE và chrome tôi không thể làm cho nó hoạt động ..jQuery .prop ("tắt", sai) không hoạt động trong Chrome

Actualy đó là một hình thức invination và im làm nút gửi như thế này

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

và đây là css

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

như bạn có thể thấy nút bị vô hiệu hóa và bạn không thể nhấp chuột, bạn trước hết phải viết tên và thư của bạn r mà nút đó bị vô hiệu hóa và bạn có thể gửi thư. Đối im này ghi mã ở đây là: http://pastebin.com/8u23G90b

Nhưng cái gì là sai ở đây, trong chrome và IE tàn tật không bao giờ ra khỏi nút, im cũng tải jquery 1.7.1

ps xin lỗi vì tiếng anh của tôi

+0

Liên kết Fiddle bị hỏng – Roger

Trả lời

23

Tháo thuộc tính:

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

Xem .removeAttr() để biết thêm chi tiết

+0

không, không hoạt động ... – user994461

+0

Tôi [vừa thử] (http://jsfiddle.net/frZ63/1/) cả hai phương pháp trong chrome 17, và cả hai đều hoạt động. Tôi nghĩ rằng vấn đề của bạn có thể nằm ở nơi khác, bạn có nhận được bất kỳ lỗi nào trên bảng điều khiển không? –

+0

thú vị .. hoạt động cũng cho tôi trên chrome 16 trên jsfiddle, trên trang web không hoạt động ..không có lỗi trong giao diện điều khiển. hmm .. – user994461

-1

Cố gắng viết nó như thế:

$('myButton').prop("disabled", ""); 
+0

Nó không hoạt động im try – user994461

+0

Vấn đề có thể là ở nơi khác. Bạn có thể đăng thêm mã không. –

-1

chỉ cần sử dụng nút và sống:

<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(); }); 
2

Vấn đề của bạn không phải là với JQuery, nhưng với bộ chọn CSS của bạn. Thuộc tính bị vô hiệu hóa đề cập đến giá trị mặc định khi trang tải lần đầu tiên, thay vì liệu phần tử đó có thực sự bị vô hiệu hóa hay không.

Bộ chọn CSS bạn muốn là :disabled selector:

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

Bạn có thể thấy một ví dụ với this jsfiddle.

0

Tôi đã chạy vào một vấn đề tương tự mà tôi đang sử dụng .prop ("bị vô hiệu hóa", sai) để xóa bị vô hiệu hóa khỏi nút 'Lưu'. Vô hiệu hóa đã được gán thông qua .prop ("disabled", true).

Nhưng hãy đợi những gì - khi cố gắng xóa thuộc tính này (sẽ được hiển thị là bị vô hiệu hóa trong thẻ html), tôi phát hiện ra rằng nó đã được xuất dưới dạng class = "disabled"!

Đối với điều này - tôi đã từng .removeClass ('disabled') Tất cả tôi đang cố gắng để nói là nếu mọi thứ không làm việc theo cách bạn nghĩ rằng họ nên, hãy chắc chắn sản lượng ban đầu của họ là những gì bạn mong muốn.


Các vấn đề liên quan