使用Bootstrap从modal将数据传递到父窗口

Dam*_*mon 5 jquery twitter-bootstrap

作为一个例子,我有一个页面,加载时,列出所有员工.页面上有一个按钮,单击该按钮时,使用表单初始化(引导程序)模态.我填写表单,然后单击"提交".如果插入成功,我将json对象作为响应返回,这样我就可以将新创建​​的员工添加到列表中 - 这是模态的后面 - 没有页面刷新.

一切都很好.我收回了json - 我准备将数据发送回父窗口了.我知道这会有点棘手,但这篇SO帖子给了我希望.

jQuery的

Employee.createEmployee(function (response) {
    $(window.opener.document).find('#mytable').html($.parseJSON(response));
});
Run Code Online (Sandbox Code Playgroud)

到目前为止,我所能做的就是回复此错误:

Uncaught TypeError: Cannot read property 'document' of null
Run Code Online (Sandbox Code Playgroud)

我通过javascript而不是data-attribute启动模式,希望能够更好地挂钩回到父窗口:

jQuery的

$('#createemployeebtn').click(function (event) {
    $('#newemployeemodal').modal();
});
Run Code Online (Sandbox Code Playgroud)

没有这样的运气.

Mat*_*ttD 11

您可以使用模态访问的任何信息也可以添加到您的页面中.

$(function() {
  $('#btnLaunch').click(function() {
    $('#myModal').modal('show');
  });

  $('#btnSave').click(function() {
    var value = $('input').val();
    $('h1').html(value);
    $('#myModal').modal('hide');
  });
});
Run Code Online (Sandbox Code Playgroud)
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>


<h1></h1>
<button type="button" id="btnLaunch" class="btn btn-primary">Launch Modal</button>


<div class="modal fade" id="myModal">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span>
        </button>
        <h4 class="modal-title">Modal title</h4>
      </div>
      <div class="modal-body">
        <p>Enter text:</p>
        <input type="text" id="txtInput">
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" id="btnSave" class="btn btn-primary">Save changes</button>
      </div>
    </div>
    <!-- /.modal-content -->
  </div>
  <!-- /.modal-dialog -->
</div>
<!-- /.modal -->
Run Code Online (Sandbox Code Playgroud)

此示例在单击按钮时弹出一个模态.然后,您可以在输入中输入文本并单击保存更改按钮,页面上的h1标记将设置为使用该文本.您可以再次弹出模式,更改输入字段中的文本,单击保存更改按钮,h1标签现在将显示新文本.

此示例应说明在模态中设置的任何项目都可用于设置生成该模态的页面上的项目.页面可以访问的任何元素或变量,您的模态也可以访问.