我将页面加载到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>
答案 0 :(得分:2)
从Ajax返回的数据被视为纯文本,因此默认情况下不会执行其中的任何Javascript。请参阅this文章。
尝试使用.load()而不是$ .post():
function swapContent(cv) {
$("#content").html('<img class="loader" src="images/loader.gif"/>').show();
var url = "load.php";
$("#content").load(url, {contentVar: cv});
}