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