我一直在努力解决这个问题,并找到了一种在花哨的 iframe 中显示结果的方法,我不擅长 ajax,所以需要一个使用 jquery 的 php 解决方案,我的第一个答案!!:
需要在您的 jquery.fancybox js 文件中进行一些调整,我使用的是jquery.fancybox.1.3.4.pack.js
. 用任何编辑器等打开它,然后搜索name="fancybox-frame
::就是这样,应该只找到一个实例,看起来像:
name="fancybox-frame'+(new Date).getTime()+'"
现在你想重命名整个:
fancybox-frame'+(new Date).getTime()+'`
任何你想要的,我只是称之为:"fbframe"
并保存文件。现在添加 jquery 设置,如下所示,它应该可以正常工作:
//activate jquery on page load and set onComplete the most important part of this working
$(document).ready(function(){
$("#a").fancybox({
'width' : '75%',
'height' : '100%',
'autoScale' : false,
'type' : 'iframe',
'onComplete':function (){$('#formid').submit();},
});
});
//function called onclick of form button.
function activatefancybox(Who){
$("#setID").val(Who); // i set the value of a hidden input on the form
$("#a").trigger('click');//trigger the hidden fancybox link
}
// hidden link
<a id="a" href='#'></a>
// form to submit to iframe to display results.
// it is important to set the target of the form to the name of
// the iframe you renamed in the fancybox js file.
<form name='iduser' id='iduser' action='page.php' target='fbframe' method='post'>
<input />
<input />
<input id='setID' type='hidden' name='userid' value='' />
<input type="button" onClick='testfb(123)' />
</form>
过程是:
点击提交->调用函数->函数点击FB链接->onComplete
onComplete 在 FB 加载后将表单提交到 iframe!完毕。
请注意,我已经从我当前的项目中删除了这个,并且刚刚编辑了某些必需的部分,我仍然是一个业余编码人员,如果可以的话,我会推荐 ajax。而且我只使用FB1!FB2 现在可用。