2010-06-17 51 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