0

I'm getting this error when running my application. This error comes in only one controller. I have done other controllers in the same way but in this particular controller I get this following error.

Argument 'questionAddCtrl' is not a function, got undefined

Controller:

;
(function () {
    'use strict';

    angular.module('app').controller('questionAddCtrl', ['$scope', '$http', function ($scope, $http) {


            $scope.data = {
                question: '',
                ans1: '',
                ans2: '',
                ans3: '',
                ans4: '',
                ans5: '',
                correct_ans: ''
            };

            $scope.submit = function (selectData) {
                console.log("submit pressed");

                var questionAddRequest = {
                    "question": selectData.question,
                    "answerOne": selectData.ans1,
                    "answerTwo": selectData.ans2,
                    "answerThree": selectData.ans3,
                    "answerFour": selectData.ans4,
                    "answerFive": selectData.ans5,
                    "correctAnswer": selectData.correct_ans

                };

                var url = 'http://localhost/AwtCW2012002/api/restApiController/question.json';

                $scope.jsonData = JSON.stringify(questionAddRequest);

                console.log(questionAddRequest);
                console.log();

                $http({
                    method: 'POST',
                    url: url,
                    data: questionAddRequest
                }).then(function (response) {
                    console.log(response);
                    $scope.data = {
                        question: '',
                        ans1: '',
                        ans2: '',
                        ans3: '',
                        ans4: '',
                        ans5: '',
                        correct_ans: ''
                    };
                });
            }
        }]);
})();

Views:

<div class="container" ng-controller="questionAddCtrl">

    <form class="form-horizontal" role="form" name='quizAdd' ng-submit="submit(data)">
        <div class="form-group">
            <label class="control-label col-sm-2" for="question">Question:</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="question" ng-model="data.question" placeholder="Enter Question">
            </div>
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2" for="answer1">Answer 1:</label>
            <div class="col-sm-10">          
                <input type="text" class="form-control" name="answer1" ng-model="data.ans1" id="answer1" placeholder="Enter Answer 1">
            </div>
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2" for="answer2">Answer 2:</label>
            <div class="col-sm-10">          
                <input type="text" class="form-control" name="answer2" ng-model="data.ans2" id="answer2" placeholder="Enter Answer 2">
            </div>
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2" for="answer3">Answer 3:</label>
            <div class="col-sm-10">          
                <input type="text" class="form-control" name="answer3" ng-model="data.ans3" id="answer4" placeholder="Enter Answer 3">
            </div>
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2" for="answer4">Answer 4:</label>
            <div class="col-sm-10">          
                <input type="text" class="form-control" name="answer4" id="answer4" ng-model="data.ans4" placeholder="Enter Answer 4">
            </div>
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2" for="answer5">Answer 5:</label>
            <div class="col-sm-10">          
                <input type="text" class="form-control" name="answer5" id="answer5" ng-model="data.ans5" placeholder="Enter Answer 5">
            </div>
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2" for="sel1">Select Correct Answer:</label>
            <div class="col-sm-10"> 
                <select class="form-control" ng-model="data.correct_ans" id="sel1">
                    <option>{{data.ans1}}</option>
                    <option>{{data.ans2}}</option>
                    <option>{{data.ans3}}</option>
                    <option>{{data.ans4}}</option>
                    <option>{{data.ans5}}</option>
                </select>
            </div>
        </div>
        <div class="form-group">        
            <div class="col-sm-offset-2 col-sm-10">
                <button type="submit" class="btn btn-default">Submit</button>
            </div>
        </div>
    </form>
</div>
5
  • where have you declared ngApp? Commented Mar 20, 2016 at 6:42
  • in the controller I have given the app name. angular.module('app')...... Commented Mar 20, 2016 at 6:46
  • You have to declare ngApp in your html too: ng-app="app" Commented Mar 20, 2016 at 6:47
  • I have included it like this.but still the same error <div class="container" ng-controller="questionAddCtrl" ng-app='app'> Commented Mar 20, 2016 at 6:54
  • shouldn't happen to be honest. Can you create a plunker? Commented Mar 20, 2016 at 6:59

1 Answer 1

1

Try to set the array of dependencies that your module requires, like so:

angular.module('app', []);

instead of

angular.module('app');
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.