Tôi cố gắng để thực hiện xác nhận Jquery với http://docs.jquery.com/Plugins/Validation:Xác nhận Jquery - Lỗi khi thêm quy tắc vào yếu tố đầu vào?
án thiết kế của tôi:
My đầu vào yếu tố:
<form action="submit.php" id="form_id"> <input type="text" class="val-req" id="my_input" name="myval" /> <input type="button" onclick="validate_form('form_id', function() { $('#form_id').submit(); })" /> <span id="val-msg" class="my_input"></span> </form>
Sau đó, trên dom đã sẵn sàng:
$(document).ready(function() { $('.val-req').rules('add', {required:true}); });
phương pháp Validate:
function validate_form(form_id, callback) { var form = $('#'+form_id); $('.val-req').each(function() {$(this).rules('add', {required:true});}); $(form).validate({ errorElement: "span", errorClass: "val-error", validClass: "val-valid", errorPlacement: function(error, element) { $('#val-msg.'+$(element).attr('id')).innerHTML(error.html()); }, submitHandler: callback }); }
Theo mong đợi của tôi, nó sẽ hiển thị thông báo lỗi trong khoảng thời gian giữ chỗ trong biểu mẫu.
Nhưng, Vấn đề
Error on Chrome-Console: Uncaught TypeError: Cannot read property 'settings' of undefined
Nó cũng được đưa ra lỗi trên các trình duyệt khác. Sau đó, tôi đã cố gắng để tìm ra vấn đề và tìm thấy:
$('.val-req').rules('add', {required:true}); # This is causing the error
As, mỗi sự hiểu biết và tài liệu của tôi -> Điều này cần được chính xác.
Tại sao điều này gây ra lỗi TypeError và tôi có thể làm gì để giải quyết vấn đề này?
FYI, tôi đã bắt đầu thảo luận về câu hỏi này [ở đây] (http://meta.stackexchange.com/q/133057/153691). –
Đã có sự nhầm lẫn - rằng lỗi đánh máy đã giải quyết được vấn đề. Tôi phủ nhận điều đó. Tôi đã mắc lỗi đánh máy trong khi viết câu hỏi, sau đó đã được sửa lại - nhưng đó không phải là vấn đề. –
Vấn đề vẫn còn dai dẳng và tôi hoàn toàn không có đầu mối gì sai với việc triển khai của tôi. –