13
A
回答
15
嘛。您可以访问主窗口和模态内容,因此基本上只需要在关闭之前从模态元素中复制内容。工作例子(两个代码块复制到两个文件了):
auth.php(不知道你是如何工作权威性,但也许你调用一个远程登录,并得到了一定的成果,你可以在一个JSON阵列存储)
<label for="modal-username">Username</label><input type="text" name="modal-username" id="modal-username">
<?
$result = array();
$result['error']='error';
$result['auth']='auth';
$javascript_array = json_encode($result);
?>
<input type="hidden" id="modal-result" value='<? echo $javascript_array;?>'>
modal.html,主窗口
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
</head>
<body>
<!-- button to trigger modal -->
<a href="auth.php" data-target="#myModal" data-toggle="modal">remote modal</a>
<!-- hidden fields to store modal result in -->
<input type="hidden" id="main-username">
<input type="hidden" id="main-result">
<!-- modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal test</h3>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
<button class="btn btn-primary" onclick="login();">Login</button>
</div>
</div>
<script type="text/javascript">
//called when user clicks login
function login() {
$("#main-username").val($("#modal-username").val());
$("#main-result").val($("#modal-result").val());
$("#myModal").modal("hide");
}
//called when the modal is closed, logs values grabbed from the modal in login()
$('#myModal').on('hidden', function() {
console.log('username : '+$("#main-username").val());
console.log('result : '+$("#main-result").val());
})
</script>
</body>
</html>
4
引导提供了以下内置事件处理来实现这一点:
show.bs.modal - 当模式将要被示出
shown.bs.modal发生 - 时发生模态被完全示出(后CSS转换已经完成)
hide.bs .modal - 当模式被完全隐藏(CSS后过渡已经完成)发生
对于你的情况,你可以使用隐藏 - 当模式即将被隐藏
hidden.bs.modal发生。 bs.modal事件来获取值点击按钮后的模态属性,隐藏模态之前。通过这种方式,davidkonrad给出的例子可以通过单个函数来实现,消除了对中间隐藏属性的需要。
$('#myModal').on('hide.bs.modal', function() {
console.log('username : '+$("#modal-username").val());
console.log('result : '+$("#modal-result").val());
})
相关问题
- 1. 从数据表中获取值并传递到引导模式
- 2. 从引导模式中查询和获取数据库结果
- 3. 获取MySQL数据引导模型
- 4. 从引导程序获取数据datetimepicker
- 5. mysql数据引导模式
- 6. 获取数据属性并以引导模式显示
- 7. 获取ajax数据并在引导模式中显示
- 8. 无法从表中获取数据并将其设置为引导模式
- 9. 从动态模式获取数据
- 10. 从Sparql数据集中获取模式?
- 11. 从Xerces获取模式数据类型
- 12. 从psycopg2的模式获取数据
- 13. 从内部javascript获取AngularJS对象以打开引导模式
- 14. 从引导模式获取价值,保存,刷新页面
- 15. 从引导模式到java脚本获取图像URL
- 16. 从引导模式获取下拉文本
- 17. 从PHP触发模式引导模式
- 18. 通mysql表数据来引导模式
- 19. 引导模式数据ID问题
- 20. 添加数据来引导模式
- 21. jquery,数据属性,引导模式
- 22. 将数据传递到引导模式
- 23. 引导模式传递数据
- 24. 将数据传递到引导模式
- 25. AngularJs从引导模式
- 26. 如何从引导模式
- 27. 获取数据的HTML引导与PHP
- 28. 引导表中获取JSON数据
- 29. 使用ajax将值置于引导模式弹出域值中使用ajax从数据库获取数据
- 30. 从引导模型传递数据
你是什么意思“送回”?你在“主窗口”(模态只是里面的一个元素)为什么不给页面上的隐藏输入或元素赋值,错误等? – davidkonrad
模式实际上调用了我的认证控制器所在的不同URL。所以最后我在那里有一个php数组,我希望这个由jquery脚本使用,然后将相关的值分配给页面。这就是我所说的“送回”的意思:它基本上就像一个ajax调用,除非用户必须与模态窗口进行交互。 – Davor
类似http://sptalks.wordpress.com/2013/03/12/sharepoint-modal-dialog-passing-values-back-and-forth/,但如果可能的话使用Bootstrap模式。 – Davor