【问题标题】:AngularJS ng-submit Not working inside accordion tagsAngularJS ng-submit 在手风琴标签内不起作用
【发布时间】:2014-11-03 18:19:56
【问题描述】:

当它不在手风琴标签内时,以下表单可以正确使用验证,但是当它在手风琴标签内时,即使方法也不会触发。

HTML

<div ng-controller="myCtrl">
    <form name="myForm" role="form" ng-submit='myAccount()' novalidate="novalidate">
    <input type="text" name="myName" ng-model='myName' required>
    <div ng-show="myForm.myName.$dirty && myForm.myName.$invalid || submitted">
        <small class="error" ng-show="myForm.myName.$error.required">
             Your Name is required
        </small>
    </div>
    <div>
       <button type="submit" ng-click="submitted = true">Add</button>
    </div>
    </form>
</div>

控制器

app.controller('myCtrl', ['$scope','$location', '$log', function($scope,$location,$log)
{   
    $scope.myAccount = function()
    {
        if($scope.myForm.$valid)
        {
            $log.log('Valid Form');
        }
        else
        {
            $log.log('Validation Failed');
        }
    }
}]);

我想在以下手风琴标签内使用上述表单,因为它应该在手风琴内可见。但问题是当我将它放在手风琴标签内时,ng-submit 将不起作用,它甚至不会给出任何错误。有解决方案吗?这是手风琴标签中的错误吗?

<accordion close-others="true">
    <accordion-group>
         <accordion-heading>
                <!-- form html content goes here -->                
         </accordion-group>          
</accordion>

【问题讨论】:

标签: javascript html angularjs angularjs-scope angular-ui-bootstrap


【解决方案1】:
$scope.pho.myAccount = function()
{
    if($scope.myForm.$valid)
    {
        $log.log('Valid Form');
    }
    else
    {
        $log.log('Validation Failed');
    }
}

<form name="myForm" role="form" ng-submit='pho.myAccount()' nov ..

检查这两个修改:) 不确定

【讨论】:

  • 什么是pho? @Kalhano
  • 它是否有效?可能是accordion 指令将创建一个单独的范围,所以看看关于典型继承stackoverflow.com/questions/14049480/…
  • 当我这样做时,表单甚至没有加载。请解释它的作用@Kalhano
  • 看不到我的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-19
相关资源
最近更新 更多