Ich habe den folgenden JQuery Validierungscode:jQuery validateJs nicht mehr funktioniert nach dem ersten Ajax-Aufruf
$("#formObjective").validate({
messages:
{
Statement: 'Value must be provided'
},
submitHandler: function (form) {
try {
$.post($('form#formObjective').attr('action'), $('form#formObjective').serializeArray())
.done(function (data) {
updateObjectiveGrid('table#objectiveGrid');
$('form#formObjective').closest('div').html(data);
})
.fail(function (xhr, error, text) {
alert(text);
});
}
catch (ex) {
alert('An error occurred while saving: ' + ex);
}
}
}
Dies ist die HTML
<div id=editor>
@using (Html.BeginForm("Save", "Objective", FormMethod.Post, new { @class = "form", id = "formObjective" }))
{
<fieldset>
<legend>Add Objective</legend>
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.Id)
<div class="form-group">
@Html.LabelFor(model => model.Notes, "Notes", htmlAttributes: new { @class = "control-label" })
@Html.TextAreaFor(model => model.Notes, new { @class = "form-control" })
</div>
<div class="form-group">
<button type="submit" id="save" name="action" class="btn btn-primary btn-default">@Html.GlyphIcon("plus") Save Objective</button>
<button type="button" id="clear" name="action" class="btn btn-warning">Clear</button>
</div>
</fieldset>
}
</div>
Nun gibt es zwei Fragen, die ich bin vor.
Wenn ich die $ ('') platzieren. Validieren ({}) innerhalb des $ (document) .ready (function() {}) es funktioniert einfach nicht das heißt regelmäßige einreichen passiert. Wenn ich es draußen platziere, funktioniert es.
Wenn ich die <Form> dynamisch ersetzen (die gleiche Form vom Server gerendert und ersetzt die vorhandene Form), dann der validate() einfach nicht mehr funktioniert und regelmäßige Postback auftritt.
Ihr Ersatz des '