示例Ajax异步传输与PHP实现交互
发布:smiling 来源: PHP粉丝网 添加日期:2022-07-11 09:29:05 浏览: 评论:0
前台页面两个select框,一个与学院关联,另一个与专业关联,现需要选择学院select框后,显示学院相关信息,且专业select下面仅有属于该学院的专业名称。也就是实现一个二级联动效果。
两个select里面分别定义onchange事件,事件中利用ajax的GET方法向后台PHP递交信息,再将查询得到的信息echo出来或document.write。
注:代码参考了有位叫y0umer的博主写的。
代码如下:
- <script type="text/javascript">
- var XmlHttp;
- function createXmlHttpRequestObject(){
- if(window.ActiveXobject){ // 判断是否是ie浏览器
- try { // try开始
- xmlhttp = new ActiveXobject("Microsoft.XMLHTTP"); // 使用ActiveX对象创建ajax
- }catch(e){
- xmlHttp = false;
- } // try end
- }else{ //Chrome、FireFox等非ie内核
- try{
- xmlHttp = new XMLHttpRequest(); //视为非ie情况下
- }catch(e){
- xmlHttp = false; // 其他非主流浏览器
- }
- } // 判断结束,如果创建成功则返回一个DOM对象,如果创建不成功则返回一个false
- if(xmlHttp)
- {
- return xmlHttp;
- }else{
- alert("对象创建失败,请检查浏览器是否支持XmlHttpRequest!");
- }
- } // 函数体
- //学院下拉框事件
- function showCollegeInfo(){
- var selectIndex = document.getElementById("college").selectedIndex;//获得是第几个被选中了
- var value = document.getElementById("college").options[selectIndex].value;
- if(value)
- {
- // 先创建一个对象实例
- createXmlHttpRequestObject();
- // 使用事件对象获取文本框ID的值
- var vCollege = value;
- var url = "college.php?xy="+vCollege; //待发送URL
- url=encodeURI(url);
- xmlHttp.onreadystatechange=ajaxok; // 判断浏览器状态栏 (接收玩数据触发的事件)
- xmlHttp.open("GET",url,false); // GET向服务器端发送数据
- xmlHttp.send(null);
- document.getElementById("collegeinfo").style.display="block";//显示学院信息的p
- }else{
- document.getElementById("collegeinfo").style.display="none";//隐藏学院信息的p
- }
- }
- function ajaxok()
- {
- if(xmlHttp.readyState == 4 && xmlHttp.status==200)
- {
- document.getElementById("collegeinfo").innerHTML = xmlHttp.responseText;
- }
- }
- //专业下拉框事件
- function showMajorInfo(){
- var selectIndex = document.getElementById("major").selectedIndex;//获得是第几个被选中了
- var value = document.getElementById("major").options[selectIndex].value;
- if(value)
- {
- // 先创建一个对象实例
- createXmlHttpRequestObject();
- // 使用事件对象获取文本框ID的值
- var vMajor = value;
- var url = "major.php?zy="+vMajor; //待发送URL
- url=encodeURI(url);
- xmlHttp.onreadystatechange=ajaxok2; // 判断浏览器状态栏 (接收玩数据触发的事件)
- xmlHttp.open("GET",url,false); // GET向服务器端发送数据
- xmlHttp.send(null);
- document.getElementById("majorinfo").style.display="block";//显示专业信息的p
- }else{
- document.getElementById("majorinfo").style.display="none";//隐藏专业信息的p
- }
- }
- function ajaxok2()
- {
- if(xmlHttp.readyState == 4 && xmlHttp.status==200)
- {
- document.getElementById("majorinfo").innerHTML = xmlHttp.responseText;
- }
- }
- </script>
Tags: Ajax异步传输 PHP异步传输
- 上一篇:php之接口与前端数据交互实现示例代码
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)