Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从fancybox iframe获取表单字段值,并将其返回到beforeClose函数_Php_Jquery_Iframe_Fancybox - Fatal编程技术网

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

Php 从fancybox iframe获取表单字段值,并将其返回到beforeClose函数,php,jquery,iframe,fancybox,Php,Jquery,Iframe,Fancybox,我正在使用jquery fancybox 2加载一个iframe表单。 表单提交数据并将其写入数据库,然后关闭fancybox。 所以这部分很好。 但是,我想从iframe表单中检索一个隐藏字段值。 然后,该值将在父页面上隐藏相应的id。 我尝试使用beforeClose选项获取隐藏字段值。 但是,我无法获取隐藏字段的值 隐藏字段具有页面加载。 fancybox代码: $(".various").fancybox({ maxWidth : 800, maxHeight

我正在使用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 popsup出现时:

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

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

<script>
 var pageload;
 .
 .

注意:这是针对fancybox v2.0.6+

的,谢谢您的快速回答。。我添加了var pageload;就在我的下面。它没有显示任何结果,因此我对pageload变量进行了FireBug/警报,它给出了未定义的答案。
我使用的是fancybox v2.0.6。。谢谢你的帮助,我需要使用“后秀”功能而不是“前秀”,它工作得很好。也许不是。。。它第一次工作,现在又失败了,没有定义。。。我将继续尝试…确保
ID=“pageload”
中的ID在文档中是唯一的,并确保在文档准备就绪后调用
.fancybox()
函数…请参见
$(document).ready()
// 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);
 }
}