如何等到所有页面加载以获取这些页面的元素?

时间:2014-02-10 06:05:03

标签: javascript jquery html ajax

<div id="validationPages">
    <div id="page1Div"></div>
    <div id="page2Div"></div>
    <div id="page3Div"></div>
    <div id="page4Div"></div>
</div>

<script type="text/javascript">
    $( "#page1Div" ).load( "page1.html");
    $( "#page2Div" ).load( "page2.html");
    $( "#page3Div" ).load( "page3.html");
    $( "#page4Div" ).load( "page4.html");

    alert($("#validationPages").find("input[type=text]").length);
    $("#validationPages").find("input[type=text]").validate();
</script>

这里我在四个div中加载四个html页面。这些页面各有一些输入字段,这些输入字段在ajax调用中填充来自数据库的值。

例: 的 page1.html:

$.ajax({
    type: 'POST',
    url:  "GetAmount",
    success: function(data, textStatus, xhr){
        $("#amount").val(data.amount);
    }
});

填写所有这些输入字段后,我想将它们传递给名为validate()的函数进行验证。

在我的代码中,警报将总输入字段长度设置为“0”,如何等待所有页面加载值,以便我可以将它们传递给validate()函数?

- &GT; $(document).ready()无效。

1 个答案:

答案 0 :(得分:0)

Try this code.




<script type="text/javascript">
    $( "#page1Div" ).load( "page1.html", function(){
          $( "#page2Div" ).load( "page2.html", function(){
                  $( "#page3Div" ).load( "page3.html", function(){
                          $( "#page4Div" ).load( "page4.html", function(){
                                    alert($("#validationPages").find("input[type=text]").length);
                                    $("#validationPages").find("input[type=text]").validate();
                         });
                 });
          });
    });
</script>

Here one by one each page loaded. Once all the page get load we have pass the "validate function". In case any issue please let me know.