2013-06-23 16 views
11

Hala angularJS ile yeni yaşıyorum. Özel bir düğme yapmaya ve normal düğme kullanmak yerine formuma eklemeye çalışıyorum. Birkaç yaklaşımı denedim ve şu ana kadar hiçbiri iyi çalıştı. Şimdi giriş alanına girdiğimde, ana sayfaya mükemmel bir şekilde yüklenen "sonuçlar" görünümünü elde ediyorum. ancak "a" bağlantı etiketini tıklattığımda görünüm yüklendikten sonra anında kaybolur. Ayrıca, tarayıcının konumu "sonuçlara" dönüşür, daha sonra yalnızca "/ # /" adresine geri döner. Neden ve neye sebep olduğuna dair hiçbir fikrim yok.angularjs ile bağlantı etiketini kullanarak formu gönderin

<div id="search-container" ng-controller="SearchController"> 
    <form ng-submit="submitQuery()"> 
    <div> 
     <input id="keywords" name="keywords" ng-model="query.keywords" placeholder="please enter query" value="" required/><br> 
     <a href="#" id="search-btn" ng-click="submitForm()"><img src="/Images/search-icon.png" alt="Search" title="Search" /></a> 
    </div> 
    </form> 
</div> 

burada benim modeldir ve denetleyicileri ngjs:

var bfapp = angular.module("blogfinder", []).config(function ($routeProvider) { 
    $routeProvider.when('/results', { 
    templateUrl: 'PartialViews/results.html', 
    controller: 'ResultsController' 
    }); 

    $routeProvider.otherwise({ redirectTo: '/' }); 
}); 

bfapp.controller('ResultsController', function ($scope) { 
}); 

bfapp.controller('SearchController', function ($scope, $location) { 
    $scope.query = { keywords: "" }; 

    //on form submit 
    $scope.submitQuery = function() { 
    if ($scope.query.keywords !== null) { 
     $location.path('/results'); 
    } 
    }; 

    //on button click 
    $scope.submitForm = $scope.submitQuery; 
}); 

cevap

13

de ben çok aptal hissediyorum

burada benim html bu. Kafamı birkaç saatliğine vurduktan sonra çözümü buldum. Her ne kadar bu sitede hiç bir zaman belirtilmemiştir. Tek ihtiyacım olan şey "#" yi <a href="#" id="search-btn" ng-click="submitForm()">'dan kaldırmak. Şimdi çekicilik gibi çalışıyor.

+0

Ayrıca, form geçerliliğini, hatalarını vb. Kontrol etmek için formunuzu bir argüman olarak da iletebilirsiniz. – svassr

+0

evet yapılabilir – SolidSnake

İlgili konular