2011-12-07 14 views
2

私は検索ページを作成しています。単一の入力がFancybox内に表示されます。すべてが完璧に機能しますが、Fancyboxを閉じると2回目は開きません。Uncaught TypeError:オブジェクト関数(​​a、b){new new.fn.init(a、b、h)}にはメソッド 'fancybox'がありません

ヘッダー/ jQueryのスクリプト:

<head> 
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
<script type="text/javascript" src="includes/fancybox/jquery.fancybox.pack.js?v=2.0.3"></script> 
<script type="text/javascript" src="includes/jquery.form.js"></script> 

<link rel="stylesheet" href="includes/fancybox/jquery.fancybox.css?v=2.0.3" type="text/css" media="screen" /> 
<link href="css/main.css" rel="stylesheet" type="text/css" /> 
<link href="css/search.css" rel="stylesheet" type="text/css" /> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".submit").click(function() { 
      $('#page_effect').fadeIn(500); 
     }); 

     $(".form").ajaxForm({ 
      success: function(responseText) 
      { 
       $.fancybox({ 
        content  : responseText, 
        maxWidth : 545, 
        maxHeight : 560, 
        fitToView : false, 
        autoSize : false, 
        closeClick : false, 
        openEffect : 'fade', 
        closeEffect : 'fade' 
       }); 
       $('#page_effect').fadeOut(200); 
      } 
     }); 
    }); 
</script> 

私はこのために使用しているコードが続いている

Uncaught TypeError: Object function (a,b){return new e.fn.init(a,b,h)} has no method 'fancybox'

:デバッガを使用して私がある現れてからそれを防ぐエラーを検出しました

フォーム:

 <form name="input" action="search.php" method="post" class="form"> 
     <input name="searchterms" class="input" type="text" /> 
     <input class="submit" type="submit" value="Zoek naar video!" /> 
    </form> 
+0

'含み/ fancybox/jquery.fancybox.pack.js vは= 2.0.3'存在しませんか? – JamesHalsall

+0

はい、最初に正しく読み込まれているためです。それは2回目に開くことができません。 –

答えて

2

投稿フォームを送信するためのコードを書き直して修正しました。 これは、このための作業修正です:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.submit').click(function(e){ 
      var $query = $('.form').formSerialize(); 
      $('#page_effect').fadeIn(500); 
      $.ajax({ 
       data: $query, 
       dataType: 'html', 
       type: 'post', 
       url: 'includes/functions.php' 
      }).done(function(data){ 
       $.fancybox({ 
        content  : data, 
        maxWidth : 545, 
        maxHeight : 560, 
        fitToView : false, 
        autoSize : false, 
        closeClick : false, 
        openEffect : 'fade', 
        closeEffect : 'fade' 
       }); 
       $('#page_effect').fadeOut(200); 
      }); 
      e.preventDefault(); 
     });  
    }); 
</script> 
関連する問題