Javascript 从模态表单中提取用户输入(角度)

Javascript 从模态表单中提取用户输入(角度),javascript,angularjs,twitter-bootstrap,bootstrap-modal,Javascript,Angularjs,Twitter Bootstrap,Bootstrap Modal,我目前有一个模式表单设置,并且按照我想要的方式很好地工作,但是现在我需要抓取输入到文本框中的信息以及用户选择的信息,而im有点迷失了我需要从哪里开始。下面是我的模态形式在Entity中的代码。我不一定要寻找一个直接的答案,但要指出更多信息的正确方向,尽管示例将不胜感激 <div ng-app='plunker' ng-controller="ModalDemoCtrl"> <script type="text/ng-template" id="myModalContent.

我目前有一个模式表单设置,并且按照我想要的方式很好地工作,但是现在我需要抓取输入到文本框中的信息以及用户选择的信息,而im有点迷失了我需要从哪里开始。下面是我的模态形式在Entity中的代码。我不一定要寻找一个直接的答案,但要指出更多信息的正确方向,尽管示例将不胜感激

<div ng-app='plunker' ng-controller="ModalDemoCtrl">
  <script type="text/ng-template" id="myModalContent.html">
    <div class="modal-header">
      <h3>Create a new post</h3>
    </div>
    <form name="modalForm">
    <div class="modal-body">
      <div class="form-group" ng-class="{ 'has-error': modalForm.modalInput.$invalid }" >
        <input name="modalInput" type="text" class="form-control" size="10" ng-model="data.myNumber" placeholder="Post Title" required/><br>
        <textarea name="modalInput" class="form-control" rows="10" maxlength="1000" form="modalForm" ng-model="data.myNumber2" placeholder="Post Body" required></textarea><br>
        <label for="sel1">Select category:</label>
            <select name="modalInput" class="form-control" ng-model="data.myNumber3" id="sel1" required>
                <option value="" selected disabled>Please select</option>
                <option value='lifestyle'>lifestyle</option>
                <option value='travel'>travel</option>
                <option value='video'>video</option>
            </select><br>
        <input name="modalInput" type="url" class="form-control" size="10" ng-model="data.myNumber4" placeholder="http://www.postUrlHere.com"/>
      </div>
    </div>
    <div class="modal-footer">
      <button class="btn btn-primary" ng-disabled="modalForm.$invalid" ng-class="{ 'disabled': modalForm.$invalid }" ng-click="ok()">Submit</button>
      <button class="btn btn-primary" ng-click="cancel()">Cancel</button>
    </div>
  </form>
  </script>
  <h1>GWAT Websites and Designs</h1>
  <button class="btn" ng-click="open()">Submit new post</button>
</div>
<script>
var myMod = angular.module('plunker', ['ui.bootstrap']);
var ModalDemoCtrl = function($scope, $uibModal, $log) {
  $scope.items = ['title', 'body', 'category', 'url'];

  $scope.open = function() {
    var modalInstance = $uibModal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl,
      resolve: {
        items: function() {
          return $scope.items;
        }
      }
    });

    modalInstance.result.then(function(selectedItem) {
      $scope.selected = selectedItem;
    }, function() {
      $log.info('Modal dismissed at: ' + new Date());
    });
  };
};

创建新帖子


选择类别: 请选择 生活方式 旅行 视频
提交 取消 GWAT网站和设计 提交新职位 var myMod=angular.module('plunker',['ui.bootstrap']); var ModalDemoCtrl=函数($scope、$uibModal、$log){ $scope.items=['title','body','category','url']; $scope.open=函数(){ var modalInstance=$uibModal.open({ templateUrl:'myModalContent.html', 控制器:ModalInstanceCtrl, 决心:{ 项目:功能(){ 返回$scope.items; } } }); modalInstance.result.then(函数(selectedItem){ $scope.selected=selectedItem; },函数(){ $log.info('Modal disposed at:'+new Date()); }); }; };
编辑:

var ModalInstanceCtrl=函数($scope,$uibModalInstance,data){
$scope.items=项目;
$scope.selected={
项目:$scope.items[0]
};
$scope.ok=函数(){
$uibModalInstance.close($scope.selected.item);
};
$scope.cancel=函数(){
$uibModalInstance.discover('cancel');
};
};
myMod.controller('ModalDemoCtrl',ModalDemoCtrl');
myMod.controller('ModalInstanceCtrl',ModalInstanceCtrl');

如果希望将$scope.data从当前页面发送到modalInstance,则必须向resolve对象添加属性

$scope.open = function() {
  var modalInstance = $uibModal.open({
    templateUrl: 'myModalContent.html',
    controller: ModalInstanceCtrl,
    resolve: {
      data: function() {
        return $scope.data;
      }
    }
});

从ModalInstanceCtrl中,添加“数据”作为依赖项,您将能够检索相关数据。

是否希望将输入、文本区域和选择值获取到模式实例中?确定,更改$scope.items=items;至$scope.data=数据;并删除$scope.selected对象。另外,从$uibModalInstance中删除$scope.selected.item。它们已经不存在了,这就是为什么你不能打开模态。是的,我想得到你在之前的评论中提到的那些值。当我将解析更改为如上所列,并将数据添加为依赖项时,单击按钮将不再打开模式窗体。我不再需要项目数组了,因为它来自一个例子,但我似乎不能放弃使用它而不破坏formI-see。您是否可以使用ModalInstanceCtrl代码更新您的问题?您是将$scope.data从模式传递到主窗口还是从主窗口传递到模式?如果可能,请提供此代码的插入器。应该直截了当地告诉你,上面所做的改变很快就奏效了。一个简单的问题是,我现在如何使用“data”它只是data.xyz吗
$scope.open = function() {
  var modalInstance = $uibModal.open({
    templateUrl: 'myModalContent.html',
    controller: ModalInstanceCtrl,
    resolve: {
      data: function() {
        return $scope.data;
      }
    }
});