Javascript 在tab onclick中重新加载iFrame

Javascript 在tab onclick中重新加载iFrame,javascript,wordpress,jquery-ui,iframe,wufoo,Javascript,Wordpress,Jquery Ui,Iframe,Wufoo,我的客户坚持在他的度假预订网站上使用Wufoo表格。这个网站是建立在WordPress上的,所以我不想为每个预订表单创建一个单独的页面(就像他目前的网站一样——凌乱!),我想我应该在一个选项卡或模式中显示每个假期的相关预订表单 我目前在假期页面上有两个选项卡(jQuery UI),一个带有假期详细信息(“详细信息”-默认情况下处于活动状态),另一个带有预订表单(“立即预订”,不处于活动状态)。问题是,预订表单下面的空白太多。这是因为表单在页面加载时加载,而不是在单击“立即预订”选项卡时加载。如果

我的客户坚持在他的度假预订网站上使用Wufoo表格。这个网站是建立在WordPress上的,所以我不想为每个预订表单创建一个单独的页面(就像他目前的网站一样——凌乱!),我想我应该在一个选项卡或模式中显示每个假期的相关预订表单

我目前在假期页面上有两个选项卡(jQuery UI),一个带有假期详细信息(“详细信息”-默认情况下处于活动状态),另一个带有预订表单(“立即预订”,不处于活动状态)。问题是,预订表单下面的空白太多。这是因为表单在页面加载时加载,而不是在单击“立即预订”选项卡时加载。如果在加载iFrame之前刷新页面并直接点击“Book Now”选项卡,它将完全加载,并且下方没有空白,但是如果我只是刷新页面,然后在几秒钟后单击“Book Now”,则表单将有空白。预订表单是从Wufoo嵌入的,因此iFrame是用JavaScript加载的。在单击“立即预订”选项卡之前,是否有任何方法停止加载iFrame

以下是来自Wufoo的嵌入代码:

    <script type="text/javascript">var z7s0z9;(function(d, t) {
    var s = d.createElement(t), options = {
    'userName':'USERNAME', 
    'formHash':'z7s0z9', 
    'autoResize':true,
    'height':'2592',
    'async':true,
    'header':'show', 
    'ssl':true};
    s.src = ('https:' == d.location.protocol ? 'https://' : 'http://') +         'wufoo.com/scripts/embed/form.js';
    s.onload = s.onreadystatechange = function() {
    var rs = this.readyState; if (rs) if (rs != 'complete') if (rs != 'loaded') return;
    try { z7s0z9 = new WufooForm();z7s0z9.initialize(options);z7s0z9.display(); } catch         (e) {}};
    var scr = d.getElementsByTagName(t)[0], par = scr.parentNode; par.insertBefore(s, scr);
    })(document, 'script');</script>
var z7s0z9;(功能(d,t){
var s=d.createElement(t),选项={
“用户名”:“用户名”,
‘formHash’:‘z7s0z9’,
“自动调整大小”:正确,
‘高度’:‘2592’,
“异步”:true,
'header':'show',
'ssl':true};
s、 src=('https:'==d.location.protocol?'https://':'http://')+'wufoo.com/scripts/embed/form.js';
s、 onload=s.onreadystatechange=function(){
var rs=this.readyState;if(rs)if(rs!='complete')if(rs!='loaded')返回;
试试{z7s0z9=newwufooform();z7s0z9.initialize(选项);z7s0z9.display();}catch(e){};
VaR SCR=D.GETelEngsByTAGNITY(t)〔0〕,PAR=SCR.PARTENDECTION;PAR插入前(S,SCR);
})(文件“脚本”);

您可以通过ajax而不是Iframe加载选项卡,因为Iframe总是在页面加载时加载

参考这个


$(函数(){
$(“#制表符”)。制表符({
加载前:函数(事件、ui){
ui.jqXHR.error(函数(){
ui.panel.html(
“无法加载此选项卡。我们将尝试尽快修复此问题。”+
“如果这不是演示的话。”);
});
}
});
});
青蒿素、金樱子、天妇罗、金樱子a、金樱子。库拉比图尔nec arcu。我坐在阿梅特·莫里斯旁边。这是一个很好的例子。埃蒂亚姆·阿利奎特·马萨和洛雷姆。毛里斯·达比乌斯·拉库斯·奥克托·里苏斯。埃涅亚临时乌拉姆科珀狮子座。维瓦摩斯·塞德·马格纳·奎斯·利古拉·埃利弗德·阿迪皮斯。杜伊斯·奥奇。苏打水煎饼或同侧生命。阿利奎姆·努拉。我是阿利奎姆·莫莱斯蒂·埃拉特。这是一种新的葡萄品种。这是我的梦想。同侧相位。努克·特里斯蒂克·坦普斯·莱克图斯

<script>
  $(function() {
    $( "#tabs" ).tabs({
      beforeLoad: function( event, ui ) {
        ui.jqXHR.error(function() {
          ui.panel.html(
            "Couldn't load this tab. We'll try to fix this as soon as possible. " +
            "If this wouldn't be a demo." );
        });
      }
    });
  });
  </script>
</head>
<body>

<div id="tabs">
  <ul>
    <li><a href="#tabs-1">Preloaded</a></li>
    <li><a href="ajax/content1.html">Tab 1</a></li>
    <li><a href="ajax/content2.html">Tab 2</a></li>
    <li><a href="ajax/content3-slow.php">Tab 3 (slow)</a></li>
    <li><a href="ajax/content4-broken.php">Tab 4 (broken)</a></li>
  </ul>
  <div id="tabs-1">
    <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
  </div>
</div>