2009-08-06 33 views
32

Tôi có một hình thức đơn giản để kiểm tra giá trị của mã bưu điện nhập vào bởi người sử dụng chống lại một biến,làm thế nào để vô hiệu hóa nút gửi với jquery

Tôi đang cố gắng để vô hiệu hóa nút gửi và làm việc kiểm tra và đưa ra cảnh báo tin nhắn, tôi không thể hiểu được những gì tôi đang làm sai, bất kỳ trợ giúp nào cũng sẽ được đánh giá cao.

<form id="post_code"> 
     <input name="textfield" type="text" id="postcode" size="14" maxlength="8" /> 
     <input type="image" id="submit_postcode" src="images/B_go.png" alt="Submit Postcode" width="59" height="24" border="0" /> 
    </form> 


$(function() { 

    $('form#post_code').submit(function() { 

    var entered_post_code = $('form#post_code input#postcode').val(); 
    var post_code = "CV"; 
    if (entered_post_code == post_code) { 
     alert("post code is ok"); 
     return true; 
    }else { 
     alert("post code is not ok"); 
     return true; 
    } 
    return false; 
}); 

});

+0

http://stackoverflow.com/questions/1594952/jquery-disable-enable-submit-button –

Trả lời

-3
//disable 
$('#submit_postcode').attr('disabled', true); 

//re-enable 
$('#submit_postcode').removeAttr('disabled'); 
+0

Hi, là mã ở trên để được thay thế bằng $ ('form # post_code'). submit (function() {} thanks – amir

+2

thuộc tính bị vô hiệu hóa nên được đặt thành 'disabled' not 'true' – David

+2

David, hoặc là làm việc với bạn của tôi – redsquare

4
$('#submit_postcode').attr('disabled', 'disabled'); 
73

W3C khuyến cáo để thiết lập rằng thuộc tính disabled = "tàn tật", do đó:

$('#submit_postcode').attr('disabled', 'disabled'); 

lại cho phép có thể được thực hiện bằng cách loại bỏ các thuộc tính:

$('#submit_postcode').removeAttr('disabled'); 

Đặt thuộc tính thành bất kỳ giá trị nào khiến nó bị vô hiệu hóa, thậm chí là .attr ('disabled', 'false'), do đó nó phải được loại bỏ.

+0

Như của jQuery 1.7, bạn nên sử dụng ".prop()" và ".removeProp()" thay vì attr. Nếu không, câu trả lời vẫn hoàn hảo. – Rap

0
var entered_post_code = $('form#post_code input#postcode').val(); 
// rewrite as 
var entered_post_code = $("#post_code input[id=postcode]").val(); 

Bạn nên trả về false nếu mã bưu điện không ổn. Không?

có thể là của bạn nếu nó không bao giờ giải quyết là đúng, và nó trả về là sai luôn. Việc sử dụng hàm submit() là chính xác.

1

Nếu séc khớp với bạn trở lại đúng và nếu nó không khớp ... bạn cũng trả về true. Không bao giờ đạt đến dòng return false.

Bạn có thể muốn thay đổi một trong các dấu vết của mình thành sai và loại bỏ dòng bên ngoài khối if/else.

1

Đây là mã tôi sử dụng để vô hiệu hóa hoặc kích hoạt lại một điều khiển:

function handleControlDisplay(className, foundCount, checked) { 



    var button = jQuery(className); 



    if (foundCount > 0 && foundCount == checked) { 

     // enable 

     button.removeAttr("disabled"); 

    } 

    else { 

     // set the disabled attribute 

     button.attr("disabled", "true"); 

    }; 

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