2012-11-16 40 views
5

tôi có mã này mà xác nhận giá trị của đầu vào nếu có sản phẩm nào và hiển thị thông báo lỗi với một twitter popover bootstrap:Lặp giữa mỗi đầu vào để xác nhận giá trị

$(document).on("ready", login_events()); 

function login_events(){ 

    $("#userId, #password").on("change", validateEmpty); 
    $("#loginButton").on("click", validateAll); 

} 

function validateEmpty(){ 

    input = $(this); 
    input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
    isValid = true; 

    if(input.val() === ""){ 
     input.popover('show'); 
     isValid = false; 
    } 
    else{ 
     input.popover('hide'); 
    } 

    return isValid; 

} 

này hoạt động hoàn hảo khi sự kiện thay đổi được thực hiện nhưng tôi muốn thực hiện một chức năng khác mà sẽ lặp lại giữa mỗi đầu vào trong biểu mẫu, xác nhận nếu nó trống (validateEmpty()) và ngăn chặnDefault nếu có bất kỳ sản phẩm nào.

Như bạn có thể thấy tôi đã thiết lập sự kiện click cho #loginButton để chạy các chức năng validateAll mà tôi có một cái gì đó như thế này nhưng không thể tìm ra một cách đúng đắn để làm điều đó:

function validateAll(event){ 

    $("#loginForm input").each(validateEmpty); 

} 

Trả lời

1

Hãy thử đóng cửa này :

function validateAll(event){ 
    var isValid = true; 
    $("#loginForm input").each(function(){ 
     input = $(this); 
     input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
     isValid = true; 

     if(input.val() === ""){ 
      input.popover('show'); 
      if (isValid) 
       isValid = false; 
     } 
    }); 
    if (!isValid) { 
     alert('form is not valid!'); 
    } 
} 
+0

Cảm ơn người đàn ông, tôi có thể tìm ra điều gì đó về cách bạn xử lý isValid trong mã. Tôi đã viết câu trả lời dưới đây. –

0

Cảm ơn @VMAtm! Tôi đã thay thế hàm bên trong mỗi() để chạy hàm validateEmpty mà tôi đã tạo. Nó hoạt động rất tốt ngay bây giờ!

function validateAll(event){ 

    isValid = true; 

    $("#loginForm input").each(validateEmpty); 

    if(!isValid){ 
    event.preventDefault(); 
    } 
} 
Các vấn đề liên quan