0

我有一些代码使用 jquery 将搜索结果加载到同一页面上。在独立页面上运行时它工作正常。当加载到颜色框窗口中时,相同的代码中途失败。我怎样才能解决这个问题?

这是在独立页面上运行良好但在颜色框窗口中失败的代码。

<script>
  $('button.trigger').on('click', function(){
    $mybtn = $(this);
    $mybtn.text('Searching...').addClass('disabled');
    $.post(
      '/results/people?layout="no"',
      $('#find_or_add_person').serialize(),
      function(data){
        $('#response').html(data);
        $mybtn.text('Search').removeClass('disabled').removeClass('btn-primary');
      }
    );
    return false; 
  });
</script>

注意:将按钮文本设置为“正在搜索”并禁用按钮后,它会失败。

这是调用颜色框的代码。

<script>
    $('a.add').colorbox({
          width:440,
            height:400,
            onComplete: function(){
                    $('#colorbox').css('display', 'block');
              }
    });
</script>
4

1 回答 1

0

我找到了答案——很偶然。事实证明,标签的奇怪 HTML 排序是罪魁祸首。

具体来说,在我加载到颜色框窗口的 HTML 中,我打开了一个 div 标签,然后打开了 form 标签,然后在关闭 form 标签之前关闭了 div 标签。无论出于何种原因,当我将该页面用作独立页面时,我的这种奇怪行为并没有引起任何问题。然而,它搞砸了我的一些水豚测试。在解决水豚问题时,我修复了标签排序和中提琴!页面立即开始在颜色框窗口中工作。

我永远不会猜到。最终我不明白导致这种奇怪行为的潜在机制,但我很高兴它得到了解决。

于 2012-07-19T23:57:12.457 回答