xVal и Кнопка Отправки jQuery
-
10-07-2019 - |
Вопрос
У меня есть простая форма.В нем есть одно поле и кнопка отправки.Я скрываю кнопку отправки.Кнопка отправки фактически запускается с помощью привязки тега, который вызывает метод javascript, использующий jQuery для получения элемента и выполнения щелчок().Это работает нормально, форма posts и record успешно записывается в базу данных.
Итак, теперь я добавил xVal для проверки.Я пытаюсь добавить простую проверку на стороне клиента.
Это не работает, когда я нажимаю на тег привязки.Однако, если я уберу кнопку отправки и попытаюсь опубликовать форму с ее помощью вместо использования тега привязки, который вызывает метод js, это сработает.Итак, в основном я пытаюсь выяснить, почему это не работает, когда я использую метод js для запуска нажатия кнопки отправки.
Есть какие-нибудь грандиозные идеи?Большое спасибо!
Вот какой-то код...
<div id="manufacturerButtons" class="moduleRow">
<%= Html.ActionImage(Url.Content("~/Content/Icons/bullet_go_back.png"), "Back To Admin", "Admin", "Admin")%>
| <a class="actionImage" href="javascript: addManufacturer();">
<img border="0" src="<%= Url.Content("~/Content/Icons/accept.png")%>"> <span>Add
Manufacturer </span></a>
</div>
<div class="moduleContent">
<div id="manufacturerContainer">
<div class="moduleRow">
<h3>
New Manufacturer</h3>
</div>
<div class="moduleRow">
<% Html.BeginForm("NewManufacturer", "Admin", FormMethod.Post); %>
<table class="noBorder" border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 125px">
<h6>Name:</h6>
</td>
<td>
<%= Html.TextBox("Name") %>
</td>
</tr>
<tr style="display: none;">
<td>
</td>
<td>
<input type="submit" id="btnAdd" name="btnAdd" />
</td>
</tr>
</table>
<% Html.EndForm(); %>
<%= Html.ClientSideValidation<EquipmentManufacturer>() %>
</div>
</div>
Javascript:
function addManufacturer() {
//$('form').submit(); // doesnt work when trying to validate either
$('#btnAdd').click();
return true;
}
Решение
Что вам нужно сделать, это запустить проверку jQuery в вашей форме.Попробуй:
$('form').validate();
Чтобы отправить форму после успешной проверки, попробуйте:
$('form').validate({ submitHandler: function(form) { form.submit(); } });
Обратите внимание, что 'form' должен быть допустимым селектором jQuery для вашей формы...