У меня проблема с функцией, прикрепленной к кнопке через onclick(). Я использовал UI-маршрутизацию для присоединения контроллера к html-странице с помощью ионных меток. Вот фрагмент кода -
app.js
var havyakkaMaduve = angular.module('havyakka_maduve', ['ionic','ngStorage','ngCordova','ngCordovaOauth'])
havyakkaMaduve.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
// setup an abstract state for the tabs directive
.state('home', {
url: '/',
templateUrl: 'homePage.html',
controller: 'LoginController'
})
.state('registration', {
url:'/reg',
templateUrl:'templates/registration.html',
controller:'UserDetailsController'
});
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise("/reg");
});
havyakkaMaduve.controller("UserDetailsController",["$scope","$http", function($scope,$http) {
console.log("Inside userDetails Controller");
$scope.submitDetails = function () {
console.log("Submitting details");
$http.get("/test").success(function(response){
console.log("Test success");
});
};
}]);
Registration.html
<ion-pane>
<ion-content class="padding">
<div class="reg_list">
<label class="item item-input">
<span class="input-label">Full Name</span>
<input type="text" required>
</label>
<label class="item item-input">
<span class="input-label">Mane</span>
<input type="text" required>
</label>
<label class="item item-input">
<span class="input-label">Gotra</span>
<input type="text" required>
</label>
<label class="item item-input">
<span class="input-label">Date</span>
<input type="date" required>
</label>
<label class="item item-input">
<span class="input-label">Education</span>
<input type="text" required>
</label>
<label class="item item-input">
<span class="input-label">Occupation</span>
<input type="text" required>
</label>
<label class="item item-input">
<span class="input-label">Father Name</span>
<input type="text" required>
</label>
<label class="item item-input">
<span class="input-label">Mother Name</span>
<input type="text" required>
</label>
<label class="item item-input">
<span class="input-label">Current Location</span>
<input type="text" required>
</label>
<label class="item item-input">
<span class="input-label">Upload Image</span>
<input type="file" required>
</label>
<label class="item item-input">
<span class="input-label">Digital Identity</span>
<input type="url" required>
</label>
<label class="item item-input">
<span class="input-label">About Me</span>
<input type="text">
</label>
</div>
<button class="button button-block button-positive" onclick="submitDetails">Submit</button>
<div>
</div>
Кто-нибудь, пожалуйста, скажите мне, где я ошибаюсь, поскольку я не вижу здесь никаких проблем. Я получаю "ReferenceError: submitDetails не определено". Я вижу проблему, когда нажата кнопка "Отправить". Спасибо.
Вы должны использовать ng-click вместо onclick, и функция должна вызываться с помощью круглых скобок:
<button class="button button-block button-positive" ng-click="submitDetails()">Submit</button>