我有一个网站,当点击链接时,通过javascript的innerhtml函数插入内容(再次单击它,poof,插入的数据消失)。这非常有效。我现在要做的是为注入的代码添加一个flot图。 flot图需要在插入后运行javascript。这可能吗?替换将是插入代码中的一个按钮,然后运行JS ...但这不是理想的。思考? --Thanks!
好的..所以这里有一些代码:第一位是你点击的链接:
<a name = "<?php echo $tag_no ?>" class="none" href="#<?php echo $tag_no ?>" title = "<?php echo $tooltip ?>" onClick="sendRequest('GET','/2.0/details.php3?event_no=<?php echo $tag_no ?>&details=0&PHPSESSID=<?php echo session_id() ?>')"><?php echo $concert_date_formatted ?> </a></td>
它在这里调用javascript函数:
function sendRequest(method, url){
//alert(method);
if(method == 'get' || method == 'GET'){
http.open(method,url,true);
http.onreadystatechange = function() {
handleResponse(url,method);
}
http.send(null);
} else if (method == "got" || method == "GOT"){
handleResponse(url,method);
}
}
function handleResponse(url,method){
//alert("Junebug!");
if(method == "GOT" || method == "got"){
//document.getElementById(event_no).innerHTML = null;
//alert("got");
BetterInnerHTML(event_no,null);
} else if(http.readyState == 4 && http.status == 200){
var response = http.responseText;
var equals = url.indexOf('=');
var andsign = url.indexOf('&');
var event_no = url.substring(equals + 1, andsign);
if(response){
//alert(response);
document.getElementById(event_no).innerHTML = response;
//BetterInnerHTML(event_no,response);
}
}
}
然后插入代码。
答案 0 :(得分:0)
一种方法是在DIV中创建一个IFRAME并将document.write
用于该IFRAME:
document.getElementById(event_no).innerHTML = "<iframe></iframe>";
document.getElementById(event_no).firstChild.contentWindow.document.write(response);