php - 从 fancybox iframe 获取表单字段值并将其返回到 beforeClose 函数

标签 php jquery iframe fancybox

我正在使用 jquery fancybox 2 加载 iframe 表单。 表单提交数据并将数据写入数据库,然后关闭 fancybox。 所以这部分都很好。 但是我想从 iframe 表单中检索隐藏字段值。 该值将隐藏父页面上相应的 id。 我尝试使用 beforeClose 选项获取隐藏字段值。 但是我无法获取隐藏字段值。

隐藏字段有页面加载。 fancybox代码:

$(".various").fancybox({
      maxWidth : 800,
      maxHeight   : 700,
      fitToView   : false,
      width    : '70%',
      height      : '90%',
      autoSize : false,
      closeClick  : false,
      openEffect  : 'fade',
      beforeClose : function(){
        var pageload = $('#pageload').val();            
        console.log('var = ' + pageload);
      },
      afterClose : function(){
        if(pageload != 0){
            $('#'+pageload).slideUp('slow');
        } else {
            window.location.reload(true);
        }
      }
    });

fancybox 的触发方式是:

<a href="editcategory.php&pageload=<?php echo $sub_id; ?>" class='various' data-fancybox-type='iframe'>LINK</a>

当 iframe 弹出时:

<input type="hidden" value="<?php echo $_GET['pageload']; ?>" id="pageload" name="pageload" />

我需要做的就是将页面加载值返回到 afterClose 函数。 我尝试过使用 afterLoad 函数和 beforeClose 函数来获取值,但除了 null 之外,它们似乎都没有给我答案。 然后,这将“向上滑动”该 id,然后在索引页中清除它。

如果值 = 0,它将重新加载页面。

我一整天都在寻找答案,但对于一个简单的 2 行函数来说,它们看起来都非常复杂。

最佳答案

首先,您需要在脚本顶部声明变量pageload。现在它只在 beforeClose 回调函数内有效,所以

<script>
 var pageload;
 .
 .

然后是你的 fancybox 回调

// we won't use beforeClose but beforeShow
beforeShow: function(){
 // get the value of pageload INSIDE the iframe
 pageload = $('.fancybox-iframe').contents().find('#pageload').val();
},
afterClose : function(){
 if(pageload != 0){
  $('#'+pageload).slideUp('slow');
 } else {
  window.location.reload(true);
 }
}

注意:这适用于 fancybox v2.0.6+

关于php - 从 fancybox iframe 获取表单字段值并将其返回到 beforeClose 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11494957/

相关文章:

javascript - 添加附加类到 Pinterest Pin It Button iframe

php - Symfony Ajax 进度条

php - 查询在工作台中有效,但在 PHP 中无效

php - SQLSTATE[42000] 更新 SQL

java - 如何将 Java 异常信息返回给 jQuery.ajax REST 调用?

wordpress - 将Bootstrap轮播与youtube iframe API结合使用时,IE 11出现问题

php - Jquery Post - Php 遇到问题

javascript - 如何根据属性Id获取内部html

jquery - Bootstrap 模型变大后如何居中

javascript - 哪个更好推广? IFRAME 或外部 Javascript