提交前的Angular JS Process表单

时间:2014-12-16 11:51:13

标签: angularjs angularjs-ng-form ng-submit

我的情况如下:

我有一个搜索框,用户可以输入两种类型的查询

场景一搜索从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>

1 个答案:

答案 0 :(得分:0)

如果在单击提交按钮时激活搜索,则可以在提交功能中处理登录,并相应地点击正确的Web服务。这些方面的东西:

<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,并且想要在用户与输入交互时执行搜索,您可能有兴趣在输入元素中添加指令,并使用{{3} }

对于使用指令的表单和验证器,有一个很棒的$asyncValidators yearofmoo