AngularJS模态iframe获取表单值

时间:2015-09-21 09:46:22

标签: javascript angularjs iframe modal-dialog

我有一个AngularJS项目,我打开一个模态窗口。在模态窗口中,我有一个加载外部URL的iframe。外部网址有一个形式。

有没有办法在不使用jquery的情况下访问formvalues?

所以我从我的控制器那里得到了一个模态:

    var modalInstance = $modal.open({
        templateUrl : 'modal.html',
        controller  : 'ModalController',
        size        : "lg",
        resolve: {
          options: function () {
            return {
              iframeUrl         : “http://www.myexternalurl",
            };
          }
        }            
    });

modal.html

<div class="modal-dialog">
    <iframe ng-src="{{options.iframeUrl}}" id="myIframe" sandbox="allow-same-origin allow-scripts" class="modalIframe"  seamless='seamless' style="border:0" frameBorder="0"></iframe>
</div>

模态控制器

.controller('ModalController' , ['$scope', '$modalInstance' , '$sce' , 'options' , '$document'  , function($scope, $modalInstance , $sce , options , $document)
{    

    $scope.options  = null;

    if(options) {
        $scope.options  = options;

        if($scope.options.iframeUrl) { 
            $scope.options.iframeUrl = $sce.trustAsResourceUrl($scope.options.iframeUrl);

            $modalInstance.rendered.then(function(){
              var myElement = angular.element($document[0].querySelector('#myIframe'));
              console.log(myElement);
              console.log(myElement.find("form"));
            });            
        }
    }
}]);

外部网址表格

<form id="myForm">
<input type='text' name='test'>
</form>

所以从模态控制器我需要访问表单(在iframe中加载)并从名为test的输入中获取值

0 个答案:

没有答案