2016-07-07 95 views
0

我想要获取包含每个控件的值的整个表单(或div)的HTML。我试过innerHtml/outerHtml。虽然他们给我的HTML,我无法获得控件的值。如何获取包含属性和表单值的整个HTML

业务场景:我有一个带有占位符(“loadHtml”)的着陆页,用于加载不同的html表单。基于用户请求,我从服务器中检索标准html表单,并将它们加载到“loadhtml”div中,并让用户在各个字段中输入完整的数据。一旦用户完成数据输入并点击“保存”,我想提取HTML(包括文本框&复选框)以及值并将其发送到服务器并将其作为HTML表单存储。

<div id="loadHtml"></div> 

<div class="form-group"> 
    <div class="col-sm-offset-4"> 
    <button class="btn btn-success" ng-click="save()">Save</button> 
    </div> 
</div> 
+0

的可能的复制[?如何获得的输入控制,包括值的innerHTML(http://stackoverflow.com/questions/14357222 /如何获取-in-input-control-including-the-values) –

+0

如果您已经从服务器获取,为什么不回发并将其保存在那里? –

+0

在表单的提交事件中获得'innerHTML'。 – Iceman

回答

0

好吧,如果我深知你想获得另一页的整个HTML和表现出来,所以这里的方式:

可以运行$http.get到HTML页面,并显示它简单地使用ngSanitize在你看来。

下面是一个例子:

(function() { 
 
    "use strict"; 
 
    angular.module('app', ['ngSanitize']) 
 
    .controller('mainCtrl', function($scope, $http) { 
 
     $scope.html = ''; 
 
     $scope.get_html = function() { 
 
     $http.get('https://httpbin.org/').then(
 
      function(response) { 
 
      $scope.html = response.data; 
 
      }, 
 
      function(response) { 
 
      console.log(response); 
 
      }); 
 
     } 
 
    }); 
 
})();
<!DOCTYPE html> 
 
<html ng-app="app"> 
 

 
<head> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular-sanitize.min.js"></script> 
 
</head> 
 

 
<body ng-controller="mainCtrl"> 
 
    <span ng-bind-html="html"></span> 
 
    <button type="button" ng-click="get_html()">Get entire HTML</button> 
 
</body> 
 

 
</html>