控制器功能不会调用角度js上的按钮单击

时间:2016-03-16 09:14:40

标签: javascript angularjs

你好我是angularjs的新手我正在注册模块,所以我必须在按钮上调用控制器功能提交这是我的代码所以请帮我按下按钮点击控制器功能,谢谢。

这是我的观点

<div class="col-sm-8" ng-control="regCtrl">
    <h3> Get In Touch!</h3>
    <form role="form"  ng-submit="submit()">
        <div class="row">
            <div class="form-group col-lg-4">
                <label for="input1">Name</label>
                <input type="text" name="contact_name" class="form-control" id="input1">
            </div>
            <div class="form-group col-lg-4">
                <label for="input2">Email Address</label>
                <input type="email" name="contact_email" class="form-control" id="input2">
            </div>
            <div class="form-group col-lg-12">
                <input type="hidden" name="save" value="contact">
                <button type="submit" ng-click="submit();" class="btn btn-primary">Submit</button>
            </div>
        </div>
    </form>
</div>

这是我的控制器

app.controller('regCtrl', function($scope) {
        $scope.submit = function () {
            alert("hello");
            if ($scope.text) {
                $scope.list.push($scope.text);
                $scope.text = '';
            }
        };
    });

3 个答案:

答案 0 :(得分:1)

你可以这样试试 -

在html文件中添加ng-controller -

<div ng-controller="regCtrl">

然后使用&#39; ng-submit&#39;添加表单标记。属性如as -

 <form name="form" data-ng-submit="submit()" novalidate  role="form">

并在表单

中添加正常的提交按钮
<button  type="submit">Submit</button>

现在它会将您的数据发布到控制器。

答案 1 :(得分:0)

这是您的视图代码的方式:

<body ng-app="regApp">   
   <div class="col-sm-8" ng-controller="regCtrl">
        <h3> Get In Touch!</h3>
        <form role="form"  ng-submit="submit()" novalidate >
            <div class="row">
                <div class="form-group col-lg-4">
                    <label for="input1">Name</label>
                    <input type="text" name="contact_name" class="form-control" id="input1">
                </div>
                <div class="form-group col-lg-4">
                    <label for="input2">Email Address</label>
                    <input type="email" name="contact_email" class="form-control" id="input2">
                </div>
                <div class="form-group col-lg-12">
                    <input type="hidden" name="save" value="contact">
                    <button type="submit" ng-click="submit()" class="btn btn-primary">Submit</button>
                </div>
            </div>
        </form>
    </div>
</body>

在您的控制器文件或app.js 文件中,应该有一个使用应用名称创建的模块

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

app.controller('regCtrl', function($scope) {
        $scope.submit = function () {
            alert("hello");
            if ($scope.text) {
                $scope.list.push($scope.text);
                $scope.text = '';
            }
        };
    });

我认为现在它应该有效!

答案 2 :(得分:-1)

您已将按钮类型用作提交,并使用ng-click ...

如果提交了类型,则无需使用ng-click指令...

尝试这个

<button type="submit" class="btn btn-primary">Submit</button>

而不是

<button type="submit" ng-click="submit()" class="btn btn-primary">Submit</button>