表单验证make按钮不起作用

时间:2015-03-15 15:54:24

标签: javascript angularjs forms parsley.js

我开始使用angularJS,并遇到表单验证器的问题。

那是我的代码:

 <button class="btn btn-info" ng-click="addAction.test()">Click me! </button>

    <form  name="createForm"  post="" method="post" validate-form="" novalidate="" >
        <div class="col-md-6">
            <label class="control-label">Title:</label> 
            <p class="input-group">
                <input type="text"/>  
                <button class="btn btn-info" ng-click="addAction.test()">Click me! </button>
            </p>
        </div> 
    </form>

当我尝试单击按钮时,表单操作不起作用(只是在控制台中写一些东西)。 但是外形按钮效果很好!

我对这个问题的解决方案很少,但想知道为什么上面的代码不起作用。那里发生了什么。

可能的解决方案是:

  • 将按钮放在窗体外面,就像我显示的那样
  • 将按钮放在<p class="input-group">标记
  • 之外
  • <p ...>代码中保留按钮,但将其放在<input ..>代码
  • 之前
  • 删除&#34; validate-form&#34;来自<form ...>
  • 的指令

&#34;验证形式&#34;指令适用于&#34; parsley&#34;插件

有人可以帮忙吗?

(function () {
    'use strict';
    App.controller('AddEventController',  AddEventController);
    AddEventController.$inject = ['$scope', "$filter", "$rootScope", "ngDialog"];
    function AddEventController($scope, $filter, $rootScope, ngDialog) {
...
 this.test = function () {
            console.log("Hi! Im here :)");
        }
...
}

和路径片段:

.state('app.addEvent', {
     controller: 'AddEventController',
     resolve: helper.resolveFor('modernizr', 'icons', 'xeditable', 'parsley', 'ngDialog'),
    controllerAs: "addAction"
            })

validateForm指令看起来像这样:

App.directive('validateForm', function () {
return {
    restrict: 'A',
    controller: ["$scope", "$element", function ($scope, $element) {
            var $elem = $($element);
            if ($.fn.parsley) {

                $elem.parsley();
            }
        }]
};

});

0 个答案:

没有答案