2012-04-08 6 views
0

私は複数のフォームの動的シーケンスを使用しています。各フォーム(サブページ)は$( "#dyn-form").load(form-x.html)でメインページに動的に読み込まれます。 各フォーム-x.htmlには、独自のスクリプトが埋め込まれています。このスクリプトは、form-x.htmlがロードされた後に実行する必要があります。 文書を準備して各スクリプトを起動し、動的にロードされたコンテンツがdomにロードされていることを確認します。これは理にかなっていますか?すべてのあなたの助けをロード済みのhtml/scriptサブページでjquery doucument readyを使用できますか?

UPDATE

感謝。ロードコールバックで、ロードされたpage.htmlの埋め込み関数を呼び出すだけで、私はそれを解決できました:window [page] .apply();

function nextForm(page) { 
    $("#dyn-form").load(page + '.html', function(response, status, xhr) { 
     if (status == "error") { 
      var msg = "Sorry but there was an error: "; 
      $("#error").html(msg + xhr.status + " " + xhr.statusText); 
     } 
     else {   // load OK and finished then call embedded script 
      window[page].apply(); 
     } 
    }); 
} 
$(document).ready(function(){ 
    nextForm('form-1');  // load the first form 
}); 

答えて

0

リモートページをロードした後、いくつかのスクリプトを実行したい場合は、最初の部分は真実ではありません。この

$("#dyn-form").load("form-x.html",function(){ 
    //Script here will execute only after the load completed 
}); 
+0

のように行うことができます。 ** DOM準備完了イベントは一度だけ起動します!** – gdoron

+0

DOM準備が一度だけ実行される場合、フォームをx.html形式でトリガするにはどうすればよいですか? .on(イベントを関数にバインドする)と.triggerを使用してユーザーイベントを実行できますか?ロードコールバックでイベントをトリガーします。 – voscausa

関連する問題