2010-06-17 50 views
1

我有頁面加載,通過AJAX將PHP頁面轉換爲div。在AJAX中運行JavaScript加載DIV

反過來,這個加載的頁面有它自己的JavaScript和AJAX加載的div。

原因是允許用戶選擇數據>改變加載數據中的數據。我試圖在沒有JSON幫助的情況下執行此操作,以便在JS和PHP之間進行通信。

我猜父母的調用頁面已經加載了JavaScript,並且加載了AJAX的內容無法訪問該頁面? (我試過將JS運行到AJAX加載的內容中)如果是這樣,是否有無法訪問?

這裏是我在主頁上的JS,它通過AJAX加載另一個頁面。這是使用jQuery UI滑塊,因爲我寫這個我意識到不會適用於加載的內容。但是,即使這些腳本全部包含在加載頁面中,問題仍然沒有加載: -

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui-1.8.2.custom.min.js"></script> 
<script type="text/javascript" src="js/selectToUISlider.jQuery.js"></script> 
<link rel="stylesheet" href="css/redmond/jquery-ui-1.7.1.custom.css" type="text/css" /> 
<link rel="Stylesheet" href="css/ui.slider.extras.css" type="text/css" /> 
<style type="text/css"> 
    fieldset { border:0; margin: 2em; height: 8em;} 
    label {font-weight: normal; font-size: 10px; float: left; margin-right: .5em; font-size: 1.1em;} 
    select {margin-right: 1em; float: left;} 
    .ui-slider {clear: both; top: 5em;} 
</style> 
<script type="text/javascript"> 
function readOut(IDin) { 
if(IDin != '') { var ID = IDin; } 
var myRequest = new ajaxObject('loader.php'); 
myRequest.update('tits=bumblebee&ID=' + ID); 
myRequest.callback = function(responseText) { 
document.getElementById('loader').innerHTML = responseText; 
} 
} 

    $(function(){ 

     //demo 3 
     $('select#valueAA, select#valueBB').selectToUISlider({ 
      sliderOptions: { 
       change: function(readOut) { 
        var from = document.getElementById('valueAA').value; 
        var to = document.getElementById('valueBB').value; 

        var ID = document.getElementById('IDp').value; 
        var myRequest = new ajaxObject('tester.php'); 
        myRequest.update('tits=bumblebee&ID=' + ID + '&from=' + from + '&to=' + to); 
        myRequest.callback = function(responseText) { 
        document.getElementById('fuckoff2').innerHTML = responseText; 
        } 
       } 
      }, 
      labels: 12 
     }); 

    }); 
</script> 
+1

沒有你的代碼的解釋性樣本,很難說出你的問題是什麼。加載到頁面的東西可以包含Javascript,並且該代碼可以訪問頁面上的其他代碼(反之亦然)。 – Pointy 2010-06-17 16:09:58

+0

添加代碼。值得注意的是,我也嘗試了加載頁面上的eval()來嘗試調用滑塊。 – waxical 2010-06-17 16:19:31

回答

0

您在那裏已經使用了一些jQuery。如果您使用jQuery .html()函數將HTML填充到容器中,那麼jQuery將在其中找到您的<script>標籤並運行它們。但是,如果您自己設置innerHTML,則瀏覽器不會爲您執行此操作。

+0

我正在加載PHP內容,這是否仍然有效? – waxical 2010-06-17 16:30:37

+1

瀏覽器不會看到您的PHP代碼;它是HTML的時候它在那裏。所以,是的,這是有效的。 – Pointy 2010-06-17 16:35:48