2015-02-16 4 views
0

Прошу прощения, если вопрос неясен, я не совсем уверен, как еще объяснить, что мне нужно. Есть некоторые грязные варианты, которые приходят на ум, но я новичок AngularJS-кодер, и я чувствую, что есть простой простой способ реализовать это с помощью директив, может быть?Директива AngularJS для ввода ответа на ввод

Что мне нужно - это окно ввода, которое ждет нажатия клавиши ENTER, и срабатывает, и действие при его получении. Действие - это простое получение от внешнего объекта JSON на основе ввода, введенного до нажатия ввода.

Поле также должно быть сброшено до пустого при каждом нажатии клавиши новой строки.

+0

Спасибо за всю большую обратную связь! Я решил пойти с настройкой мини-формы и работать как шарм :) –

ответ

1

Ng-submit на помощь! Вы можете легко заставить его работать, обернув ввод в форму (имеющую имя). Один большой плюс: это будет работать на мобильных устройствах, у них будет ярлык «отправить» рядом с клавиатурой.

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app> 
 

 
    
 
<form 
 
    name="theFormNeedsANameForNgSubmitToFire" 
 
    ng-submit="myScopeInfos='Enter pressed and mytext was '+mytext;mytext='';"> 
 

 
    <input type="text" ng-model="mytext"/> 
 

 
</form> 
 

 
<div>{{myScopeInfos}}</div> 
 
</div>

0

Это поможет вам начать:

app.directive('enter', function() { 
    return function(scope, element, attrs) { 
     element.bind("keydown keypress", function(event) { 
      if(event.which === 13) { 
      } 
     }); 
    }; 
});  

Чтобы сбросить вход только связать входные данные для модели и установить модель в пустую строку.

Для связи с вашим сервером вы можете использовать http-модуль углового.

1

Вы можете использовать угловой keyUp directive, с event.keyCode == 13

HTML

<input ng-keyup="enterThis($event)" ng-model=""></input> 

контроллер

$scope.enterThis = function(event){ 
    if (event.keyCode === 13){ 
     //do whatever 

     //clear the input 
     $scope.enterInput = ''; 

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