Диалог Angular -UI $и отправьте форму на ключ ввода
Из того, что я вижу, рекомендуемый способ обработки ключа ввода в диалогах в AngularJS заключается в размещении <form> тег и кнопку отправки внутри диалогового окна.
Достаточно справедливо, но если вы используете Angular -UI и их диалоговое окно $, форма будет просто закрываться молча при нажатии enter. нет способа перехватить это.
даже если вы прикрепляете обработчики к ng-click или ng-submit, форма будет просто закрыта без возврата результата.
Есть ли что-то еще, что мне нужно сделать
[изменить]
Решив это, я должен был явно указать, что моя кнопка "Отмена" имеет тип "button".
Похоже, что по умолчанию "отправить"?
Таким образом, не было никакой реальной проблемы, кроме моих навыков формы html:)
Ответы
Ответ 1
Чтобы ответить на мой собственный вопрос.
Кажется, что кнопки по умолчанию отправляют (?), И если я явно устанавливаю их на тип = "button", тогда они не будут запускать обратную передачу при нажатии ввода в поле ввода формы.
<form>
<input type="text" ... />
<button type="button" ng-click=...>Cancel</button>
<button type="submit" ng-click=...>OK</button>
</form>
таким образом, нажатие клавиши ввода в поле ввода вызовет ng-click для кнопки OK.
И как вы уже поняли html хакеры, это не имело ничего общего с диалоговыми окнами или угловыми на самом деле, это была проблема с формой html и отсутствие навыков работы в Интернете...
Ответ 2
Я верю в это, потому что ваша кнопка "ЗАКРЫТЬ" не установлена на type = "button", и я ДУМАЮ, что первый элемент, который имеет фокус, поэтому, нажимая клавишу ввода, вы вводите эту кнопку, которая по умолчанию отправит форму, Добавьте type = "button" и это должно решить.
Также, к сведению, в последней версии углового материала md-button автоматически добавляет type = "button" по умолчанию (если вы не укажете type = "submit"), чтобы избежать ситуации такого типа.