如何在没有onclick / onkeyup / onchange等的情况下调用Ajax函数

时间:2012-07-03 12:29:06

标签: php jquery mysql ajax jqmobi

我正在尝试包含一个.php文件,它将通过从MySQL数据库中挑选问题为我生成一个表单。我已经找到了很多方法来调用这个函数,我用一个参数(页码)调用了getQuestions()。我已经看到下拉菜单将使用onchange或按钮(onclick)等执行我的php文件。但有没有办法使用我的功能没有这些?我只是想让它自动加载页面的其余部分而不需要任何不必要的交互。

不知道这是否重要,但我的页面是在jQuery Mobile中制作的,因此只有在正确的page / div-id处于活动状态时才能看到它。

function getQuestions(str)
    { 
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("page_1").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","generate_questions.php?p="+str,true);
    xmlhttp.send();
    }

这些是我试图用来在HTML的其余部分中查看.php的功能(没有成功)

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


window.onload = function() {
                    $("#page_1").load(getQuestions(1));
                    }

window.onload = function() {
                    getQuestions(1);
                    }

4 个答案:

答案 0 :(得分:4)

您可以使用文档就绪事件来加载其余内容:

$(document).ready(function() {
   // your code
 });

答案 1 :(得分:1)

您可以在Window.onload or document.ready事件中执行此操作。

答案 2 :(得分:1)

您好以下方式可以在不点击或更改

的情况下调用代码

只需在脚本标记之间写下函数名称,并在调用函数后创建该函数。

答案 3 :(得分:0)

似乎我通过将php代码分配给比原计划更小的div来解决我的问题。我无法将其分配给页面ID,而是分配给页面中较小的div。奇怪的是,我似乎无法在php代码中真正生成新的div,所以这种限制了它的使用。