仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4143|回复: 19
打印 上一主题 下一主题

[学习教程] PHP教程之ajax+php无刷新二级联动下拉菜单(省市联...

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:30:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
培训的第二阶段,开始了PHP语言语法结构和应用的学习。ajax|菜单|刷新|无刷新|下拉   ajax.js
/**
* ajax无刷新二级联动下拉菜单(省市联动)
*
* @author      arcow <arcow@126.com>
* @version     1.0
* @lastupdate  2005-12-29
*
*/
var http_request = false;
function send_request(url,method) {//初始化、指定处置函数、发送恳求的函数
  http_request = false;
  //入手下手初始化XMLHttpRequest对象
  if(window.XMLHttpRequest) { //Mozilla 阅读器
   http_request = new XMLHttpRequest();
   if (http_request.overrideMimeType) {//设置MiME种别
    http_request.overrideMimeType('text/xml');
   }
  }
  else if (window.ActiveXObject) { // IE阅读器
   try {
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
    try {
     http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
   }
  }
  if (!http_request) { // 异常,创立对象实例掉败
   window.alert("不克不及创立XMLHttpRequest对象实例.");
   return false;
  }
  switch(method){
  case 1: http_request.onreadystatechange = processRequest1;break;//选择操作函数
  case 2: http_request.onreadystatechange = processRequest2;break;
  case 3: http_request.onreadystatechange = processRequest3;break;
  }
  // 肯定发送恳求的体例和URL和是不是同步履行下段代码
  http_request.open("GET", url, true);
  http_request.send(null);
}
// 处置前往信息的函数
    function processRequest1() {//操作函数1,调入省
        if (http_request.readyState == 4) { // 判别对象形态
            if (http_request.status == 200) { // 信息已胜利前往,入手下手处置信息
  document.getElementById("statusTxt").innerHTML="";
  addOptionGroup("province",http_request.responseText);
            } else { //页面不正常
                alert("您所恳求的页面有异常。");
            }
        }else {//只需未读取完成
    document.getElementById("statusTxt").innerHTML="正则读取数据中……";
  }
    }

function processRequest2() {//操作函数2,调入市
        if (http_request.readyState == 4) { // 判别对象形态
            if (http_request.status == 200) { // 信息已胜利前往,入手下手处置信息
  document.getElementById("statusTxt").innerHTML="";
  addOptionGroup("city",http_request.responseText);
            } else { //页面不正常
                alert("您所恳求的页面有异常。");
            }
        }else {//只需未读取完成
    document.getElementById("statusTxt").innerHTML="正则读取数据中……";
  }
    }
    function processRequest3() {//操作函数3,输出省市
        if (http_request.readyState == 4) { // 判别对象形态
            if (http_request.status == 200) { // 信息已胜利前往,入手下手处置信息
         document.getElementById("statusTxt").innerHTML="";
         document.getElementById("district").value=http_request.responseText;
            } else { //页面不正常
                alert("您所恳求的页面有异常。");
            }
        }else {//只需未读取完成
    document.getElementById("statusTxt").innerHTML="正则读取数据中……";
  }
    }
function loadProvince() {//载入省
  send_request("select.server.php?action=province",1);//办事端处置法式,操作函数
}

function loadCity() {//载入市
     document.getElementById("district").value="";//清空文本框
     send_request("select.server.php?action=city&id="+document.getElementById("province").value,2);
}

function inputDistrict() {//向文本框输出选定的省市
     send_request("select.server.php?action=district&id="+document.getElementById("province").value+"&id1="+document.getElementById("city").value,3);
  
}
addOption.js

function addOption(objSelectNow,txt,val)
{
  /// 利用W3C尺度语法为SELECT添加Option
  var objOption = document.createElement("OPTION");
  objOption.text= txt;
  objOption.value=val;
  objSelectNow.options.add(objOption);
}
function addOptionGroup(selectId,optGroupString)
{
  var optGroup = optGroupString.split(",");
  var objSelect = document.getElementsByTagName("SELECT");
  var objSelectNow = objSelect[selectId];
  objSelectNow.length = 1;
     /// 成组添加Options
  for (i=1; i<optGroup.length; i++)
  {
   addOption(objSelectNow, optGroup, i);
  }
}



[1] [2] 下一页  

  学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...
蒙在股里 该用户已被删除
沙发
发表于 2015-2-16 05:18:08 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
老尸 该用户已被删除
板凳
发表于 2015-2-19 15:23:43 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
第二个灵魂 该用户已被删除
地板
发表于 2015-2-23 13:05:23 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
山那边是海 该用户已被删除
5#
发表于 2015-3-2 18:22:21 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
不帅 该用户已被删除
6#
发表于 2015-3-11 05:08:39 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
飘灵儿 该用户已被删除
7#
发表于 2015-3-13 00:09:39 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
分手快乐 该用户已被删除
8#
发表于 2015-3-16 22:30:53 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
小妖女 该用户已被删除
9#
发表于 2015-3-19 02:51:19 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
透明 该用户已被删除
10#
发表于 2015-3-20 01:51:05 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
小女巫 该用户已被删除
11#
发表于 2015-3-24 23:41:41 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
因胸联盟 该用户已被删除
12#
发表于 2015-3-27 22:09:59 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
冷月葬花魂 该用户已被删除
13#
发表于 2015-4-4 09:03:10 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
谁可相欹 该用户已被删除
14#
发表于 2015-4-7 02:57:40 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
变相怪杰 该用户已被删除
15#
发表于 2015-4-22 09:56:53 | 只看该作者
爱上php,他也会爱上你。
飘飘悠悠 该用户已被删除
16#
 楼主| 发表于 2015-4-25 13:01:21 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
17#
发表于 2015-6-7 21:57:03 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
兰色精灵 该用户已被删除
18#
发表于 2015-6-12 18:57:39 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
柔情似水 该用户已被删除
19#
发表于 2015-6-29 14:19:52 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
爱飞 该用户已被删除
20#
发表于 2015-7-1 21:50:34 | 只看该作者
当然这种网站的会员费就几十块钱。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 19:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表