Php Jquery脚本don';无法在加载的页面上工作

Php Jquery脚本don';无法在加载的页面上工作,php,jquery,jquery-validate,Php,Jquery,Jquery Validate,在我的web应用程序中,我有一个加载另一个页面的div:$('#main').load('pages/main.php') php由jquery验证脚本组成。如果我直接转到主php,这个脚本就可以工作,但是如果我在加载main.php的索引页面上使用这个页面,这个脚本就不能工作 我怎样才能解决这个问题 提前感谢。.load()不会回调脚本。这是中默认功能的一部分,我最终使用.livequery()准确地解决了这个问题!:) 看一看 包括插件,然后在index.php中需要类似的内容 <s

在我的web应用程序中,我有一个加载另一个页面的div:
$('#main').load('pages/main.php')

php由jquery验证脚本组成。如果我直接转到主php,这个脚本就可以工作,但是如果我在加载main.php的索引页面上使用这个页面,这个脚本就不能工作

我怎样才能解决这个问题


提前感谢。

.load()不会回调脚本。这是

中默认功能的一部分,我最终使用.livequery()准确地解决了这个问题!:)

看一看

包括插件,然后在index.php中需要类似的内容

<script type="text/javascript">
$(document).ready(function(){

            $('#yourInputField') 
              .livequery(function() { 
                 $('#yourInputField').YourValidatorPlugin(); 
        });
});
</script>

$(文档).ready(函数(){
$(“#您的输入字段”)
.livequery(函数(){
$(“#yourInputField”).YourValidatorPlugin();
});
});

正如Inrbob指出的,问题在于将内容加载到元素中不会加载或执行脚本元素。将新脚本应用于页面的适当方法是实现:

var s = $("<script src='" + script_location_for_validation + "'/>");
$("body").append(s);
var s=$(“”);
$(“正文”)。追加;
这将延迟加载javascript并将代码保留在页面之外(如果您想在以后的页面加载中使用缓存来提高速度,这一点很重要)

另一方面,最好将库和脚本放在页面末尾,这样它们就不会阻止其他下载或呈现。

非常简单

  • 在外部文件中保存main.php使用的所有javascript函数,并将其包含在当前页面中
  • 将内容加载到div
  • 调用适当的函数

  • 它肯定会工作。

    使用Fiddler/Firebug来监视HTTP请求并查看响应。在这里发布。我在所有IEs中都遇到了一些问题,但我从头部和身体上收回了脚本;有些是外部文件,有些是内联文件。如果此方法适用于您(即,您总是知道要提取的页面上有哪些脚本),则可以将代码添加到.load()回调中,以便在加载数据后立即运行脚本。@lnrbob在我最近参与的所有项目中,IE6被认为是一块最终被卸下的沉重负担。IE7和IE8应该正确处理它@LNROB暗示,如果您无法控制请求另一端的代码,则此解决方案不会为您做任何事情。谢谢。但是,我将使用.live()-它是livequery的内置模拟