2013-06-20 1 views
1

Если вы посмотрите на мой fiddleОтправка формы от внешней кнопки контроллера для проверки

Я не знаю, почему внутренний «Отправить» кнопка запускает проверку браузера (в соответствии с атрибутом required), но «внешние кнопки «Не так ли?

Внешняя кнопка вызывает форму submit() Функция, поэтому я ожидал бы такого же поведения, нет?

Я знаю, что это, вероятно, не проблема углов, но я ищу угловое решение, что означает, что мне не нужно использовать $ element (как я понимаю, это плохая практика).

+0

Внутренняя кнопка отправки запускает поведение 'required', потому что это поведение браузера по умолчанию. Вы не можете инициировать поведение 'required', отправив форму с помощью javascript. Вы должны найти другой способ показать пользователям, что они должны делать с формой. Возможно, вы захотите использовать свойство '$ valid', которое поставляется с' ngForm'. – Daiwei

+0

Спасибо. Если вы добавите это как ответ, я пометю его как правильно. –

+0

Спасибо @ rob-campo – Daiwei

ответ

1

Внутренняя кнопка отправки запускает требуемое поведение, потому что это поведение браузера по умолчанию. Вы не можете инициировать поведение required, отправив форму с помощью javascript. Вы должны найти другой способ показать пользователям, что они должны делать с формой. Возможно, вы захотите использовать свойство $valid, которое поставляется с ngForm.

0

Когда вы используете $ element, вы запускаете события в чистом javascript, а угловые не знают, что происходит, поэтому он не может в этом случае проверить форму. Вы должны вызвать форму проверки первого:

$scope.$broadcast('$validate'); 
if(!ngForm.$invalid) 
    $element.find("form")[0].submit(); 

для этой работы, пожалуйста, определить свою форму с нг-тег формы, например:

<ng-form> /* BLABLABLA */ </ng-form> 

Больше информации здесь:

http://docs.angularjs.org/api/ng.directive:ngForm

Вы также можете проверить это:

AngularJS - How to trigger submit in a nested form

+0

Спасибо. Однако проверка, которую я искал, была встроенной проверкой браузера. –

Смежные вопросы