Sto cercando di implementare la convalida Jquery con http://docs.jquery.com/Plugins/Validation:Convalida Jquery - Errore nell'aggiunta di regole all'elemento di input?
Il mio piano di progettazione:
mio ingresso elemento:
<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>
Poi, il pronto dom:
$(document).ready(function() { $('.val-req').rules('add', {required:true}); });
metodo 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 }); }
Come per le mie aspettative, dovrebbe visualizzare il messaggio di errore nel giro segnaposto in forma.
Ma, Problema
Error on Chrome-Console: Uncaught TypeError: Cannot read property 'settings' of undefined
Si è anche dando errore su altri browser. Poi, ho cercato di capire, il problema e trovato:
$('.val-req').rules('add', {required:true}); # This is causing the error
Come, per la mia comprensione e la documentazione -> Questo dovrebbe essere corretto.
Perché ciò causerebbe l'errore TypeE e cosa posso fare per risolverlo?
FYI, Ho iniziato una discussione su questa domanda [qui] (http://meta.stackexchange.com/q/133057/153691). –
C'è stata una confusione - che un errore di battitura ha risolto il problema. Lo nego. Ho fatto l'errore mentre scrivevo la domanda, che è stata successivamente corretta, ma non era affatto questo il problema. –
Il problema persiste e non ho assolutamente idea di cosa non funzioni nella mia implementazione. –