jquery.validieren: Cannot read property 'nodeType' null
Habe ich dieses kleine Anmeldeformular
<h2>Please Register Your Account</h2>
<div class="form-horizontal" id="idFormRegistrazione">
<div class="form-group">
<label id="labelUsername" for="idUsername" class="col-sm-2 col-xs-2 control-label">Username*</label>
<div class="col-sm-10 col-xs-10">
<input type="text" class="form-control" id="idUsername" placeholder="Username" name="username">
</div>
</div>
<div class="form-group">
<label id="labelName" for="idName" class="col-sm-2 col-xs-2 control-label">Name</label>
<div class="col-sm-10 col-xs-10">
<input type="text" class="form-control" id="idName" placeholder="Name" name="name">
</div>
</div>
<div class="form-group">
<label id="labelSurname" for="idSurname" class="col-sm-2 col-xs-2 control-label">Surname</label>
<div class="col-sm-10 col-xs-10">
<input type="text" class="form-control" id="idSurname" placeholder="Surname" name="surname">
</div>
</div>
<div class="form-group">
<label id="labelEmail" for="idEmail" class="col-sm-2 col-xs-2 control-label">E-mail*</label>
<div class="col-sm-10 col-xs-10">
<input type="text" class="form-control" id="idEmail" placeholder="Email" name="email">
</div>
</div>
<div class="form-group">
<label id="labelPassword" for="inputPassword" class="col-sm-2 col-xs-2 control-label">Password*</label>
<div class="col-sm-10 col-xs-10">
<input type="password" class="form-control" id="inputPassword" placeholder="Password" name="password">
</div>
</div>
<div class="form-group">
<label id="labelPasswordConf" for="idPasswordConf" class="col-sm-2 col-xs-2 control-label">Repeat Password*</label>
<div class="col-sm-10 col-xs-10">
<input type="password" class="form-control" id="idPasswordConf" placeholder="Repeat Password" name="passwordConf">
</div>
</div>
<p class="text-right" style="color: #E64040;"><b>* Campi Obbligatori</b></p>
<div id="idDivErrori">
<div id="idErroriRegistrazione">
<ul></ul>
</div>
</div>
<button id="idBtnRegister" class="btn btn-lg btn-primary btn-block" type="submit">Register Me</button>
Und diese Regeln für den jquery.validate plugin
<script type="text/javascript">
$(document).ready(function () {
$('#idFormRegistrazione').validate({
onsubmit: false,
onfocusout: false,
onkeyup: false,
onclick: false,
errorContainer: "#idDivErrori",
errorLabelContainer: "#idDivErrori #idErroriRegistrazione ul",
wrapper: 'li',
ignore: '',
rules: {
username: {
required: true,
},
name: {
required: false,
},
surname: {
required: false,
},
email: {
required: true,
email: true,
},
password: {
required: true,
},
passwordConf: {
required: true,
equalTo: '#idPassword'
}
},
messages: {
username: {
required: 'Username is Required'
},
email: {
required: 'Email is Required',
email: 'Email format is not valid'
},
password: {
required: 'Password is required',
},
passwordConf: {
required: 'You have to Confirm your password',
equalTo: 'Confirm your Password Please'
}
}
});
});
function validateRegistration() {
var is_valid_form = $('#idFormRegistrazione').validate().form();
if (is_valid_form) {
return true;
}
else {
return false;
}
}
</script>
Aber wenn ich die Funktion aufrufen validateRegistration() bekam ich die Fehlermeldung:
Cannot read property 'nodeType' null
Wirklich, ich weiß nicht, warum. Bitte Helfen Sie mir
Meinst du
wo ruft Ihr
Ich rufe validateRegistration() auf .click () - Ereignis "#idBtnRegister'
Sie können kein Ersatz für eine
javascript
?wo ruft Ihr
validateRegistration
?Ich rufe validateRegistration() auf .click () - Ereignis "#idBtnRegister'
Sie können kein Ersatz für eine
div
für eine form
. Das plugin wird nicht funktionieren.
InformationsquelleAutor Alist3r | 2013-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Daten Eingabe-Elemente sind falsch, die in einem
div
("pseudo-form")...Du MUSS schließen Sie die input-Elemente in einen Satz von
<form>
tags.Die Methode zum testen der form und geben einen booleschen Wert zurück, ist
.valid()
.Zitat OP Kommentar:
Warum?
Den
submitHandler
wird automatisch erfassen mit klicken auf den submit-button für Sie.Sie müssen eine Reihe von
<form></form>
- tags, um dieses plugin verwenden.Ok.. das problem war das fehlende <form>... Aber, sorry, wo ich um den submit-handler und die ungültigen handler?
die Rückrufe gehen Sie in der
.validate()
rufen zusammen mit allem anderen. Siehe meine bearbeitete Antwort.ok danke dir, wirklich.
InformationsquelleAutor Sparky
Ich gerade erlebt eine andere Instanz dieser Fehler. Es war in einem
<form>
hatte, die<label>
tag mit einem "name" - Attribut, das war gleich eines der Felder validiert werden. Entfernen Sie das Attribut 'name' aus der<label>
es behoben (es nicht sollte es jedenfalls).InformationsquelleAutor Tom Ladek
überprüfen Sie, ob Ihre form "novalidate" - Attribut. entfernen Sie es, wenn es einen gibt.
Beispiel:
novalidate
AttributNOVILDATE ist Attribut des form-Elements nicht den input-Feldern
InformationsquelleAutor Nuryagdy Mustapayev