Ng-click not working on div

I've been stuck here for a while, when I use the "form" tag, everything is fine, but in the "div" tag ...

main.js:

var app = angular.module('demo', []);

app.controller('appctrl', function ($scope) {    
    $scope.start = function (name) {
        console.log(name);}
 }

      

index.html

<!DOCTYPE html>
<html ng-app="demo">
    <head>
        <script src="js/angular.min.js"></script>
        <script src="js/main.js"></script>
    </head>
    <body>
        <div id="container" ng-controller="appctrl">
            <input id="input" autocorrect="off" spellcheck="false" autocapitalize="off" autofocus="true" placeholder="Please enter your full name" type="text" ng-model="name">
            <div id="button" ng-click="show()">Start Demo</div>
        </div>
    </body>
</html>

      

+3


source to share


2 answers


app.controller('appctrl', function ($scope) { 
    $scope.name = null;   
    $scope.show = function (name) {
        console.log(name);
    }
});
<div id="container" ng-controller="appctrl">
            <input id="input" autocorrect="off" spellcheck="false" autocapitalize="off" autofocus="true" placeholder="Please enter your full name" type="text" ng-model="name">
            <div id="button" ng-click="show(name)">Start Demo</div>
        </div>

      



You are calling show()

, but you have determinedstart()

+1


source


I think you need this, you need to name the function , also you need to pass a parameter to the show function. show

Also, your controller is missing . )

app.controller('appctrl', function ($scope) {    
    $scope.show = function (name) {
        console.log(name);}
 }

      



DEMO

var app = angular.module('demo', []);

app.controller('appctrl', function ($scope) {    
    $scope.start = function (name) {
        console.log(name);
        }
        
});
      

<!DOCTYPE html>
<html ng-app="demo">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
    </head>
    <body>
        <div id="container" ng-controller="appctrl">
            <input id="input" autocorrect="off" spellcheck="false" autocapitalize="off" autofocus="true" placeholder="Please enter your full name" type="text" ng-model="name">
            <div id="button" ng-click="start('TEST')">Start Demo</div>
        </div>
    </body>
</html>
      

Run codeHide result


+3


source







All Articles