2010-12-03 11 views
1

(jQueryの)fancyboxにスクリプトタグを取り除き彼らの私のために働いた。
私はfancybox(1.3.4)jQueryプラグインを使用して、HTML文字列を返すajax呼び出しの結果を表示しています。 HTML文字列にはjQuery行のajaxフォームが含まれており、html()関数のため出力されません。私はそれをinnerHTML(実際にはhtml()と同じです)に置き換えようとしました。あるいは他の人にタグを置き換えて、それを更新しましたが、何も働かなかった。
これが起こる場所を正確に知りたい場合は、fancybox JSファイルの行265です。
HTMLは()私の問題は、これらのものと非常によく似ているAJAX呼び出し

これを解決する方法はありますか?


乾杯、
Nicolas。


EDIT: <script>タグを含むAJAXによってretreivedコードの例:

<div class="ddinline"> 
    <form id="form542612422" onsubmit="return false;" update="searchbtn" position="before" method="post" action="/Librariescategories/AJAXGetChildrenList" accept-charset="utf-8"> 
     <div style="display:none;"> 
      <input type="hidden" name="_method" value="POST" /> 
     </div> 
     <script type="text/javascript"> 
     //<![CDATA[ 
     $('#form542612422').bind('submit', function(){ $.ajax({async:true, type:'post', beforeSend:function(request) {$("#filter .ddinline").last().after('<img src="/img/loading.gif" id="catload" alt="" />');}, complete:function(request, json) {$('#searchbtn').before(request.responseText); $("#catload").remove(); createDropDown($("#filter .fulldrop").last());}, data:$('#form542612422').serialize(), url:'/Librariescategories/AJAXGetChildrenList'}) }) 
     //]]> 
     </script> 
     <select name="data[Librariescategories][id]" class="fulldrop" id="LibrariescategoriesId"> 
      <option value="0" selected="selected">select</option> 
      <option value="1">3D Models</option> 
      <option value="259">Imagery</option> 
      <option value="362">Textures</option> 
     </select> 
     <div class="hide"> 
      <input type="submit" value="Submit" /> 
     </div> 
    </form> 
</div> 
+0

HTMLコードの例をスクリプトでペーストできますか?ajaxで取得できますか? –

+0

質問が編集されました。 – Nicolas

答えて

1

私はあなたが個別にスクリプトやHTML何かを追加する必要があるかもしれないと思います。マークアップとスクリプトをワイヤでトークンで結合して送信できます。クライアント上でjavascriptを使用してそれらを分割します。 fancybox要素にhtmlを追加します。スクリプトをfancybox要素の外に追加する必要があるかもしれません。ここでは、同じ要素にHTMLとスクリプトを追加する方法の例です:

http://jsbin.com/otage3/2/edit

は、この情報がお役に立てば幸いです。

ボブ

+0

こんにちはボブ、これは素晴らしいアイデアですが、実際にはcakePHPを使用しています。JavaScriptはビューのAJAXヘルパーによって自動的に生成されるため、HTMLから切り離す方法はありません。さらに、フォームIDはAJAXヘルパーコード中に自動的に生成されるため、生成されたコードには「標準」構文を使用できません。乾杯。 – Nicolas

+0

または、正規表現を使ってJSコードを抽出し、それを親文書のどこかに挿入しようとします。それが可能かどうかは分かりませんが、試してみます。 – Nicolas

+0

あなたのアイデアは良いものでした!私は文字列を2つに分割しました.1つは正規のHTMLで、もう1つはJSで、次にHTMLを挿入し、あなたの例のように '