AngularJS: Как определить, какое поле ввода текста отправлено?

0

Я хотел бы обрабатывать входы формы отдельно. Если я нажимаю клавишу ввода после ввода и выполняется выражение ng-submit, как я могу передать ответственное поле ввода в обратный вызов отправки, чтобы определить, какой вход для процесса?

Можно ли без взлома и без разделения формы в нескольких мини-формах?

  • 1
    Может быть, этот stackoverflow.com/a/4429834/2435473 может помочь вам ..
  • 0
    Ну, это JQuery не Angular ...
Показать ещё 2 комментария
Теги:
ng-submit

1 ответ

1

Я бы не использовал ng-submit для этого (submit для формы, а не для отдельных текстовых входов, если я не ошибаюсь). Просто используйте ng-keydown, чтобы получить событие ввода ключа и передать идентификатор текстового поля.

<input type="text" ng-keydown="onKeyDown($event, 'input1')" >
<input type="text" ng-keydown="onKeyDown($event, 'input2')" >

и в контроллере:

$scope.onKeyDown = function(event, id) {

    if (event.keyCode === 13) {
        // enter was pressed for the input id
    }
};
  • 0
    Что, если submit запускается из другого источника, например, numpad enter? Как я могу убедиться, что keyCode всегда будет равен 13 при keyCode ? Разве это не зависит от браузера?
  • 1
    Вход должен быть в порядке. Я не знаю, какие другие ключи приведут к отправке. Но если вы все еще хотите использовать ng-submit, вы можете передать переменную $ event таким же образом. Если поле ввода имеет идентификатор или что-то еще, его следует идентифицировать по значениям в этих аргументах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню