Я новичок в C # asp.net MVC.Я пытаюсь избавиться от ошибок проверки данных в моей форме.Когда пользователь нажимает кнопку сброса, все данные и сообщения об ошибках должны быть удалены с веб-страницы.Элементы входных данных удаляются успешно, но сообщения об ошибках проверки остаются.Когда пользователь нажимает кнопку сброса, вся веб-страница должна быть очищена.Это не происходитПоэтому я пытаюсь использовать функцию jQuery для удаления сообщений проверки;однако это не выполняется.Когда я устанавливаю точку останова в скрипте JQuery и отлаживаю программу, отладчик никогда не достигает этой точки останова.
Теперь я мог бы просто повторно отправить страницу, а не пытаться устранить ошибки.Это тоже приемлемое решение.C # должен просто перенаправить / переслать пустую страницу по умолчанию.Я тоже не уверен, как это сделать.
Я поместил скрипт JQuery в начало файла cshtml моего представления, заключенного в теги.Я также включил тег выше фактической функции в том же файле cshtml.Когда я отлаживаю скрипт, код никогда не попадает туда.
Я подозреваю, что у меня скрипт jQuery не в том месте, так как я не уверен, где скрипты JQuery должны находиться в схеме вещей.
Я запускаю скрипт, когда нажимаю кнопку сброса со следующим утверждением:
У меня есть связанные методы GET и контроллера Post
Вот код.Это все в одном и том же виде cshtml файла.
I am new to C# asp.net MVC. I have placed a JQuery script at the top of my view’s cshtml file enclosed in <script></script> tags. I have also included the <script src="~/Scripts/jquery-3.3.1.js"></script> tag above the actual function in the same cshtml file. When I debug the script, the code never gets there.
I kick off the script when I press the reset button with the following statement:
<input onclick="$(this).resetValidation()" type="reset" value="Reset" />
I have associated GET and a Post controller methods
Here’s the code. It is all in the same view cshtml file.
@{
ViewBag.Title = "Calculator";
}
<script src="~/Scripts/jquery-3.3.1.js"></script>
<script>
// taken from: /6564788/sbros-formy-mvc-s-pomoschy-jquery */
(function ($) {
//re-set all client validation given a jQuery selected form or child
$.fn.resetValidation = function () {
var $form = this.closest('form');
//reset jQuery Validate's internals
$form.validate().resetForm();
//reset unobtrusive validation summary, if it exists
$form.find("[data-valmsg-summary=true]")
.removeClass("validation-summary-errors")
.addClass("validation-summary-valid")
.find("ul").empty();
//reset unobtrusive field level, if it exists
$form.find("[data-valmsg-replace]")
.removeClass("field-validation-error")
.addClass("field-validation-valid")
.empty();
return $form;
};
})(jQuery);
</script>
<br /><br /<br />
<div class="col-md-4 col-md-7">
<div class="panel panel-primary">
<div class="panel-heading">Engulf and Devour E&D</div>
<div class="panel-body">
@ViewBag.Info
@using (Html.BeginForm("Calculator", "Investment", "post"))
{
<legend> Investment Calculator </legend>
<p>@Html.Label("Principal", "Principal", new { id = "lblPrincipal" })</p>
<p>@Html.Editor("principal") @Html.ValidationMessage("principal")</p>
<p>@Html.Label("Interest", "Interest", new { id = "lblInterest" })</p>
<p>@Html.Editor("interest") @Html.ValidationMessage("interest")</p>
<p>@Html.Label("Years", "Years", new { id = "lblYears" })</p>
<p>@Html.Editor("years") @Html.ValidationMessage("years")</p>
<p>@Html.Label("CmpPerYr", "CmpPerYr", new { id = "lblCmpPerYr" }) </p>
<p>@Html.Editor("cmpPerYr") @Html.ValidationMessage("cmpPerYr")</p>
<div> <br /></div>
<button type="submit">Calculate</button>
<input type="reset" value="Clear" />
<input onclick="$(this).resetValidation()" type="reset" value="Reset" />
}
</div>
</div>
</div>