ajax异步传输和PHP实现的交互式示例
首页上有两个选择框,一个与学院相关,另一个与专业有关。现在我们需要选择学院的选择框,并展示学院的相关信息。而学院的专业名称只是选择,即达到二级联动效应。
在两个选择,我们定义了onchange事件分别。在这一事件中,我们使用Ajax来提交信息到后台PHP的方法,然后得到回音或段从查询信息。
注:代码已被命名为y0umer写博客。
复制代码代码如下所示:
Var XmlHttp;
功能createxmlhttprequestobject(){
如果(窗口。ActiveX对象){ / /确定IE浏览器
尝试{
XMLHTTP =新的ActiveX对象(微软。XMLHTTP ); / /使用ActiveX对象创建Ajax
} catch(e){
XMLHTTP = false;
尝试结束
非IE内核,如}其他浏览器,如Chrome、Firefox等
尝试{
XMLHTTP =新(XMLHttpRequest); / /非IE
} catch(e){
XMLHTTP = false; / /其他非主流浏览器
}
如果成功,则返回一个DOM对象,如果创建一个成功的返回,则返回一个false。
如果(XMLHTTP)
{
返回XMLHTTP;
其他{ }
警报(不能创建对象,如果浏览器支持XmlHttpRequest!)
}
函数
学院下拉框事件
功能showcollegeinfo(){
无功selectindex = document.getelementbyid.selectedindex(大学); / /得到的是几个第一选择。
VaR值= document.getelementbyid(大学)。selectindex } {价值选择;
如果(值)
{
首先创建一个对象实例
CreateXmlHttpRequestObject();
使用事件对象获取文本框 id值
无功vcollege =价值;
var url =大学。phpxy =+ vcollege; / / URL发送
url = encodeURI(URL);
XmlHttp。onreadystatechange = ajaxok; / /确定浏览器的状态栏(接收数据起到触发事件)
XmlHttp.open(得到,URL,false); / /先向服务器发送数据
XmlHttp.send(空);
document.getelementbyid(collegeinfo ); / /。风格。显示为块的div的显示信息
其他{ }
document.getelementbyid(collegeinfo ); / /。风格。显示为无的div隐藏信息
}
}
ajaxok()函数
{
如果(xmlhttp.readystate = 4 = = 200 XMLHTTP。状态)
{
document.getelementbyid(collegeinfo ).innerHTML = xmlHttp.responseText;
}
}
下拉框专业事件
功能showmajorinfo(){
无功selectindex = document.getelementbyid.selectedindex(大); / /得到的是几个第一选择。
VaR值= document.getelementbyid(大)。selectindex } {价值选择;
如果(值)
{
首先创建一个对象实例
CreateXmlHttpRequestObject();
使用事件对象获取文本框 id值
var =价值重大;
var url =专业。phpzy =+重大; / / URL发送
url = encodeURI(URL);
XmlHttp。onreadystatechange = ajaxok2; / /确定浏览器的状态栏(接收数据起到触发事件)
XmlHttp.open(得到,URL,false); / /先向服务器发送数据
XmlHttp.send(空);
document.getelementbyid(majorinfo ); / /。风格。显示为块的div的专业信息显示
其他{ }
document.getelementbyid(majorinfo ); / /。风格。显示为无的div的专业信息隐藏
}
}
ajaxok2()函数
{
如果(xmlhttp.readystate = 4 = = 200 XMLHTTP。状态)
{
document.getelementbyid(majorinfo ).innerHTML = xmlHttp.responseText;
}
}