0

目前我有一个表单,当用户输入数据时,此代码会调用另一个页面来检查用户名是否正在使用中。这是调用数据库页面(test.php)的主页中的代码

<script type="text/javascript">
function showHint(str)
{
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
  return;
  }
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("txtHint").innerHTML=xmlhttp.responseText;
        if (xmlhttp.responseText.indexOf("green") != -1) {
            document.getElementById("submit").disabled = false;
        } else {
            document.getElementById("submit").disabled = true;
        }
    }
  }
xmlhttp.open("GET","test.php="+str,true);
xmlhttp.send();
}
</script>

我想改变这一点,所以当它调用 test.php 时,它会根据用户输入的表单字段向 test.php 传递一个值。

这样我就可以使用 test.php 根据用户填写的表单字段来执行不同的数据库查找。

任何人都可以帮忙吗?谢谢 :)

4

1 回答 1

0

一个带有 Javascript jQuery ajax 函数的例子。当用户单击 id="myButton" 的组件时,可以调用此函数:

$(document).ready(function() {
    $('#myButton').click(function() {

        var myValue = $('#myInput').attr('value');

        var request = $.ajax({
            url: "test.php",
            type: "GET",
            data: {
                myInput : myValue
            },
            dataType: "json"
        });

        request.done(function(msg) {
            alert( "Request done: " + msg);
        });

        request.fail(function(jqXHR, textStatus) {
            alert( "Request failed: " + textStatus );
        });
    });
});

在这个示例中,您可以从id = "myInput"的 texfield 中获取值,并通过GET调用将其传递给test.php页面。

在 test.php 页面中,您可以简单地使用以下方法获取值:

$_GET['myInput'];

只有一个提示:你的 test.php 必须返回一个json类型。

于 2012-10-16T14:49:03.910 回答