2016-10-05 1 views
0

In meinem Fall funktioniert die Google Autovervollständigung Adresssuche. Aber wenn ich klicke oder die Eingabetaste drücke, wird das Formular auch gesendet. Ich versuche das Ereignis preventdefault, aber es funktioniert nicht!Wie zu vermeiden, Formular senden, wenn Google Maps Autovervollständigen Adresse in AngularJS auswählen

Es ist meine Direktive.

myApp.directive('googleplace', function() { 
    return { 
     require: 'ngModel', 
     link: function(scope, element, attrs, model,event) { 
      var options = { 
       types: [], 

      }; 
      scope.gPlace = new google.maps.places.Autocomplete(element[0], options); 

      google.maps.event.addListener(scope.gPlace, 'place_changed', function() { 
       var location = scope.gPlace.getPlace().geometry.location; 
       // 
       scope.$apply(function() { 

        scope.lat = location.lat(); 
        scope.lng = location.lng(); 

        event.preventDefault(); 
        //alert(scope.lat); 

       }); 
      }); 
     } 
    }; 
}); 

Antwort

0
var input = document.getElementById('IdWhereYouAreSearchingForLocation'); 
google.maps.event.addDomListener(input, 'keydown', function(e) { 
    if (e.keyCode == 13) 
    { 
     e.preventDefault(); 
    } 
}); 

Mein Problem behoben. Problem war, dass ich gerade Event.preventDefault() geschrieben habe. Sie müssen versuchen zu wissen, welche Taste gedrückt wird? Wenn die Eingabetaste gedrückt wird, dann event.PreventDefault.

Verwandte Themen