如何获取包含属性和表单值的整个HTML

时间:2016-07-07 21:19:23

标签: javascript jquery html angularjs

我想获得整个表单(或div)的HTML,包括每个控件的值。我试过innerHtml / outerHtml。虽然他们给我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>

1 个答案:

答案 0 :(得分:0)

好吧,如果我理解得很好,你想获得另一个页面的整个HTML并显示它,所以就是这样:

您可以在HTML页面上运行$http.get,只需在视图中使用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>