2014-12-16 2 views
0

У меня есть сценарий следующим образом:Угловой JS формы процесса, прежде чем отправить

У меня есть один SearchBox и пользователь может ввести два типа запросов

Сценария первого поиска начинается с т A1234 Сценарием-Два поиск Начинается с, т.е. B1234

В зависимости от одного или двух выше, я хочу попасть в другой веб-сервис.

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

Должен ли я иметь переменную области видимости на .watch(), чтобы узнать, как пользователь печатает?

<form role="form" ng-submit="searchForm.$valid && searchCode()" name="searchForm" novalidate> 
    <div class="input-group"> 
     <input type="text" class="form-control" ng-model="searchQuery" name="searchQuery" required autocomplete="off" spellcheck="false" focus> 
      <input type="submit" value="Search" class="btn btn-default btn-sarch-bar"> 
    </div> 
</form> 
+0

Вы активируете поиск при каждом изменении или только когда пользователь blurout/press submit? –

+0

Если вас интересует только ввод, когда пользователь нажимает 'submit', тогда нет необходимости смотреть значение на пользовательском входе. Разбор ввода на submit выглядит более разумным – yarons

ответ

0

Если поиск активирован при нажатии кнопки «Отправить», вы можете обрабатывать логин в функции отправки и соответствующим образом набирать соответствующий веб-сервис. что-то вдоль этих линий:

<form role="form" ng-submit="submit(searchForm.$valid, data)" name="searchForm" novalidate> 
    <div class="input-group"> 
    <input type="text" class="form-control" ng-model="data.searchQuery" name="searchQuery" required autocomplete="off" spellcheck="false" focus> 
    <input type="submit" value="Search" class="btn btn-default btn-sarch-bar"> 
    </div> 
</form> 

представить функции:

$scope.submit = function(isValid, data) { 
    if(!isValid) return; 

    //check data.searchQuery and access the appropriate webservice here 
} 

Если вы используете angularjs 1.3, и вы хотите, чтобы выполнить поиск при взаимодействии пользователя с входом, вы можете быть заинтересованы при добавлении директивы к входному элементу, и использовать $asyncValidators

есть большой tutorial от yearofmoo относительно формы и валидаторы с помощью директив.

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