2011-01-24 44 views
7

Trong trang asp.net mvc của tôi, tôi cần phải có nút "rõ ràng" để đặt lại các trường nhập nhất định và xóa tất cả các thông báo lỗi. Thanh toán bù trừ các yếu tố đầu vào là tốt nhưng vì các thông báo xác nhận được tạo ra bởi asp.net mvc javascript nó không rõ ràng với tôi làm thế nào để xóa chúng?Xóa thông báo xác thực ASP.Net MVC với jQuery

Cập nhật: Điều này đã kết thúc hoạt động tốt cho tôi.

$(".field-validation-error").empty(); 
+0

Đây có phải là thông báo lỗi phía máy chủ bạn muốn xóa không? –

+0

Tôi nghĩ rằng họ đã được tạo ra phía khách hàng nhưng tôi chỉ hooked lên fiddler và họ được tạo ra phía máy chủ sau khi tất cả. Nó sẽ được tốt đẹp nếu tôi vẫn có thể loại bỏ chúng bằng cách nhấn một nút trên máy khách mà không cần phải gửi lại. – sipwiz

Trả lời

4

Bạn có thể xem mã html được tạo trong trình duyệt và sau đó chỉ xóa nó qua jquery, ví dụ: empty()

Để tìm mã được tạo:

  • Bình thường postback: xem "mã nguồn" của trang trong trình duyệt và tìm kiếm các thông báo lỗi. Tìm div cha để trống nó.
  • Gọi Ajax: nhấp chuột phải và kiểm tra các thành phần trong Chrome (các trình duyệt hiện đại khác gọi nó là khác nhau nhưng chúng nên có công cụ). Điều này sẽ cung cấp cho bạn html được tạo ở trạng thái hiện tại (sau cuộc gọi ajax). Tìm div cha và làm trống nó.

Hope this helps

0

Có một nút đầu vào thiết lập lại có thể giúp đỡ, nhưng nó chỉ reset dưới hình thức quay trở lại trạng thái của nó khi biểu mẫu đã được nạp.

Khi tôi muốn đặt lại tất cả các giá trị, tôi thường che giấu một siêu liên kết dưới dạng nút đặt lại. Khi ai đó nhấp vào nó, nó chỉ cần một yêu cầu GET mới cho biểu mẫu. Do hành động của bộ điều khiển cho một yêu cầu GET chỉ trả về một mô hình trống hoàn toàn mới, nó có tác dụng tương tự như một nút "rõ ràng".

+0

Có thể đó là cách dễ nhất nhưng tôi vẫn muốn được biết liệu có cách nào để thực hiện điều đó. – sipwiz

+0

Có lẽ tôi nên đọc tiêu đề của bạn "với jQuery". – danludwig

1

Một jQuery chức năng đơn giản và tái sử dụng bạn có thể gọi vào bất kỳ đối tượng jQuery:

$.fn.clearErrors = function() { 
    $(this).each(function() { 
     $(this).find(".field-validation-error").empty(); 
     $(this).trigger('reset.unobtrusiveValidation'); 
    }); 
}; 

Cách sử dụng:

question.clearErrors(); 

Original câu trả lời: https://stackoverflow.com/a/16165831/114029

1
$('.field-validation-error').text("") 
+2

Vui lòng thêm một số giải thích cho câu trả lời của bạn để làm cho nó hữu ích cho người đọc khác. –

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