MVC 2 JQuery проверки и AJAX формы - PullRequest
5 голосов
/ 07 декабря 2010

Я хочу использовать jQuery ($ .post) для отправки моей HTML-формы, но я хочу использовать функцию проверки на стороне клиента в MVC 2. В настоящее время я подключаю функцию post к событию "OnSubmit" тега формы, но я не могу подключиться к проверке, в идеале я хочу иметь возможность

if (formIsValid) {
     $.post('<%=Url.Action("{some action}")%>'...
}

Обратите внимание, проверка на стороне клиента работает с jQuery.validation, я просто не могу заставить ее проверитьесли проверка прошла успешно или нет, прежде чем я отправлю свои данные.

Андрей

Окончательное решение

<%
    Html.EnableClientValidation();
    using (Html.BeginForm("Register", "Account", FormMethod.Post, new { id = "registrationForm" })) {
%>
...
<button type="submit" onclick="return submitRegistration();">Register</button>
<%
    }
%>



<script type="text/javascript">
  function submitRegistration() {
    if ($("#registrationForm").valid()) {
      $.post('<%=Url.Action("{some action}")'...
    }
    // this is required to prevent the form from submitting
    return false;
  }
</script>

1 Ответ

2 голосов
/ 07 декабря 2010

Вы можете запустить проверку jQuery для события нажатия кнопки. Поместите в свой обработчик событий нажатия кнопки следующее:

if ($('form').valid())
   //take appropriate action for a valid form. e.g:
   $('form').post('<%=Url.Action("{some action}")%>')
else
   //take appropriate action for an invalid form

См. Плагин проверки документация для получения дополнительной информации.

...