2

ページを div にロードします。質問は、page1.php で JavaScript コードを実行できないことです。ページを div にロードするときにコードを実行するにはどうすればよいですか。ご協力ありがとうございます。

ここに私のコードがあります

index.php :

<script language="JavaScript" type="text/javascript">
function swapContent(cv) {
    $("#content").html('<img  class="loader" src="images/loader.gif"/>').show();
    var url = "load.php";
    $.post(url, {contentVar: cv} ,function(data) {
       $("#content").html(data).show();
    });

}
</script>

<a href="#" onClick="return false" onmousedown="javascript:swapContent('page1');"> Button1 </a>
<a href="#" onClick="return false" onmousedown="javascript:swapContent('page2');"> Button2 </a>


<div id="content"></div>

load.php :

<?php 
if(isset($_GET['contentVar']))
{
$contentVar = $_GET['contentVar'];  
    }else{
    $contentVar = $_POST['contentVar']; }
if ($contentVar == "page1") {
   include("page1.php");
} else if ($contentVar == "page2") {
   include("page2.php");
}

page1.phpの例

<script type="text/javascript" src="nicEdit.js"></script>
<script type="text/javascript">
    bkLib.onDomLoaded(function() { nicEditors.allTextAreas() });
</script>
<textarea name="message" id="message" cols="45" rows="5"></textarea>
4

1 に答える 1

2

Ajaxから返されるデータはプレーンテキストのように扱われるため、その中のJavascriptはデフォルトでは実行されません。この記事を参照してください。

$ .post()の代わりに.load()を使用してみてください:

function swapContent(cv) {
    $("#content").html('<img  class="loader" src="images/loader.gif"/>').show();
    var url = "load.php";

    $("#content").load(url, {contentVar: cv});
}
于 2013-02-17T19:04:59.330 に答える