2015-04-20 1 views
1

Je travaille avec ui-select, et chaque fois que j'appuie sur Entrée pour sélectionner des résultats recherchés, le résultat est sélectionné et le formulaire continue à soumettre. Je ne peux pas comprendre, quel est le problème.En appuyant sur Entrée pour la sélection d'une valeur de liste déroulante directement sous forme

Voici le code HTML J'utilise

<form> 
    <div class="form-group"> 
     <label class="col-sm-3 control-label">Address</label> 
     <div class="col-sm-5"> 
      <input type="text" ng-model="address.street" class="form-control" placeholder="e.g. NUST Campus, H-12">   
      <div class="form_wrapper_error"> 
       <p ng-show='addressError'>{{addressError}}</p> 
      </div> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-sm-3 control-label">City/Town</label> 
     <div class="col-sm-5"> 
      <!-- <location-autocomplete bind-value="address.city" coordinates="cityAddInitialCoordinates" placeholder="e.g. Islamabad"> --> 
      <ui-select ng-model="$parent.address.city" 
       theme="select2" 
       reset-search-input="true" 
       title="Select City"> 
       <ui-select-match allow-clear="true" placeholder="Select City">{{$select.selected}}</ui-select-match> 
       <ui-select-choices repeat="city as city in cities track by $index" 
        refresh="refreshLocation($select.search)" 
        refresh-delay="0"> 
        <div ng-bind-html="city | highlight: $select.search"></div> 
       </ui-select-choices> 
      </ui-select> 
      <div class="form_wrapper_error"> 
       <p ng-show='cityError'>{{cityError}}</p> 
      </div> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-sm-3 control-label">Zip</label> 
     <div class="col-sm-5"> 
      <input type="text" ng-model="address.zip" class="form-control" placeholder="e.g. 44000"> 
      <div class="form_wrapper_error"> 
       <p ng-show='zipError'>{{zipError}}</p> 
      </div> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-sm-8"> 
      <button class="btn btn-primary buttt" ng-click="addAddress()">Add Address</button> 
     </div> 
    </div> 
</form> 
+1

il serait préférable si vous postez toute forme de code lié, qui comprend balise form également – Anita

+1

son comportement normal de la forme, il soumet le formulaire sur entrer, au fond vous avez besoin pour empêcher cet événement on enter click, en écrivant directive –

+0

Oui, c'est un comportement normal, mais select2 et ui-select2 fonctionnent bien avec enter pour la sélection. Pourquoi ai-je besoin d'écrire une directive (pour un formulaire ou un article en particulier)? –

Répondre

3

solution trouvée: J'utilisais <button>, et le type de bouton par défaut est soumis, donc je devais préciser le type « bouton » =, et problème est résolu ....

Référence: Found in UI-Select Pull Requests...