如何用ajax在同一个文件中执行php函数?

时间:2015-10-01 19:39:04

标签: javascript php html ajax

我正在网上阅读一些教程,因为我从未使用过ajax,主要是我想要得到的是:

我有一个php文件,其中有两个函数create()population()。 创建的函数包含以下格式:

main.php

function create()
{
    echo "
    <form action='#' method='post'>
        Name <input type='text' name='nome'>
        Col <input type='text' name='colore'>
        Plan <select name='planning'><option value='p1'>p1</option></select>
        <input type='button' value='inserisci' name='inserisci'>
        <input type='button' value='register' name=register'
    </form>";
}

这个函数在另一个php文件中调用,如下所示:

的settings.php

//some stuff html
<?php require_once('main.php');
   create();
?>
//other stuff

我需要显示包含相关字段的表单。

函数population函数取代了此表单的数据并将它们放在数据库中。到目前为止没问题。 我正在尝试做什么,为此我问你几个例子,当按下表单中的"register"时执行函数填充(所以我们也必须识别按钮按下)。 必须使用ajax请求执行population函数,因为我不想重新加载页面。但是现在处于高潮并且没有最简单的想法如何做到这一点,我想了解为什么将来我将不得不使用这项技术。

NB:

表单显示在settings.php中,但是人口功能在main.php中可用,population函数是数据库的简单查询。

感谢。

1 个答案:

答案 0 :(得分:-1)

使用某些东西来检查按下按钮的时间,例如:

var triggered = false;

$(".link").one('mouseover', function(e) {
     // do something
     if(!triggered)
     {
        triggered = true;

        // and whatever else you want to do 
     }

});

按下此按钮后,将触发以下功能(javascript功能)。

<input type="submit" onclick="return false; sendForm();" value="submit" />

这将在后台向main.php发送一个AJAX请求以修复表单数据。在此之后,它将被放入此示例中的function sendForm() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (xhttp.readyState == 4 && xhttp.status == 200) { document.getElementById("formHolder").innerHTML = xhttp.responseText; } } xhttp.open("POST", "main.php", true); xhttp.send(); }