2016-04-26 35 views
1

我有一个搜索模式,有两个按钮,我想按下输入时触发。有最初的“搜索”按钮,然后是最后的“提交”按钮。有两个提交按钮触发“角度”的角模态

用户处于Angular Modal中,在搜索字段中输入名称(在此期间,Submit按钮被禁用),然后按下“Enter”键开始搜索。搜索会填充一个表格,然后用户点击一个名称进行选择,然后启用Submit按钮,现在我需要一个“Enter”按键来提交选择。

我可以得到第一个“Enter”来运行搜索功能,但我无法获得第二次按下“Enter”来启动提交选择。

这里是我的代码:

<button type="submit" class="btn btn-default" ng-click="getNames(params)" value="Search">Search</button> 
<button class="btn btn-default" type="button" ng-click="Clear(params)">Clear</button> 

,然后一旦名称的列表填充,用户选择一个,然后应该能够按“Enter”再次触发提交按钮。

<div class="modal-footer"> 
    <input class="btn btn-default" type="submit" ng-click="OK()" ng-disabled="disableOK()"/> 
    <button class="btn btn-default" type="button" ng-click="Cancel()">Cancel</button> 
</div> 

使用<button type="submit" class="btn btn-default "ng-click="OK()" g-disabled="disableOK()"></button>这里也不起作用。

我到处寻找,因为这似乎是一个常见的问题,但我没有看到这个问题的解决方案,主要是人们有多个按钮想要做不同的事情提交,而不是触发与“回车键。

可以在启用时将其分配为默认值吗?

+0

确保您的按钮是表单的一部分。然后使用onsubmit事件。输入将在这种情况下工作。 – dfsq

回答

0

我有一个很难下你正在尝试做的。但是,如果我试图完成窗体上的按键做不同的事情,我会做我的控制器中的以下内容:

var keypressed = false; 

$scope.keyPressedFunction = function() {  
    if (keypressed) { 
     // do second thing 
    } else { 
     // do first thing 
     keypressed = true 
    } 
} 

这是否回答你的问题?