盒墩数联-无锡网站建设.无锡网站优化.无锡网络营销 首 页 网站策划 网站建设 域名主机 企业邮局 客户案例 新闻中心 客户中心 联系我们
您现在的位置: 首页 - 客户中心 - 建站常见问题
建站常见问题
无锡网站建设:IE和Firefox不兼容案例
时间:2010-9-29 11:45:14    点击:0

       在近期无锡网站建设的有一个网站中,就出现了ie和Firefox不兼容的情况,在这里我分享给大家,一起共同学习进步。

       在ie中正常,代码如下:

<SCRIPT language="javascript">

function city(name,value){
  this.name=name;
  this.value=value;
}
var _province_cn =
new Array(
  "北京",
  "上海",
  "广东省",
  "江苏省"
  );
var _city_cn = new Array(

    new Array(new city('北京','050100')),
   
    new Array(new city('上海,'050400')),
   
new Array(new city('广东省(全部地区)','050500'),
new city('广州','050501'),
new city('越秀区,'050521')),


new Array(new city('江苏省(全部地区)','050600'),
new city('无锡,'050601'),
new city('北塘区,'050621'))

);

function handleProvinceChangeEvent(src,des,selected,includeall){

  if(!src.value) return;
  city = _city_cn[src.value];
  if(!city || !des) return;
  oOs = des.options;
  while(oOs.length>0){
    oOs.remove(0);
  }
  var i = 0;
  if(!includeall && city.length>1) i=1;
  for(;i<city.length;i++){
    var oOption = document.createElement("OPTION");
    oOption.text=city[i].name;
    oOption.value=city[i].value;
    if(selected) if(city[i].value==selected) oOption.selected=true;
    oOs.add(oOption);
  }
}
</SCRIPT>

<select name="province" id="province" onchange="handleProvinceChangeEvent(document.all.province,document.all.city,false,true)" >
<option value="" selected="selected">请选择省份</option>
<option value="0">北京</option>
<option value="1">上海</option>
<option value="2">广东省</option>
<option value="3">江苏省</option>
</select>
<select name="city" id="city" >
</select>

这段代码在ie中是正常的显示,可是在Firefox中就不正常了, 当我技术员在发现这一问题的时候也是多了做方面的调整,知道原因了就好研究解决了,在经过多次调试后,我们将代码改动如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title> new document </title>
  <meta name="keywords" content="" />
  <meta name="description" content="" />
  <meta name="author" content="" />
</head>
<body>
  <SCRIPT language="javascript">

function city(name,value){
  this.name=name;
  this.value=value;
}
var _province_cn =
new Array(
  "北京",
  "上海",
  "广东省",
  "江苏省"
  );
var _city_cn = new Array(

    new Array(new city('北京','050100')),
   
    new Array(new city('上海,'050400')),
   
new Array(new city('广东省(全部地区)','050500'),
new city('广州','050501'),
new city('越秀区,'050521')),


new Array(new city('江苏省(全部地区)','050600'),
new city('无锡,'050601'),
new city('北塘区,'050621'))

);

function handleProvinceChangeEvent(src,des,selected,includeall){

  if(!src.value) return;
  city = _city_cn[src.value];
  if(!city || !des) return;
  oOs = des.options;
  oOs.length=0;
  var i = 0;
  if(!includeall && city.length>1) i=1;
  for(;i<city.length;i++){
    var oOption = document.createElement("OPTION");
    oOption.text=city[i].name;
    oOption.value=city[i].value;
    if(selected) if(city[i].value==selected) oOption.selected=true;
    oOs.add(oOption);
  }
}
</SCRIPT>

<select name="province" id="province" onchange="handleProvinceChangeEvent(this,document.getElementById('city'),false,true)" >
<option value="" selected="selected">请选择省份</option>
<option value="0">北京</option>
<option value="1">上海</option>
<option value="2">广东省</option>
<option value="3">江苏省</option>
</select>
<select name="city" id="city" >
</select>
</body>
</html>

            在改动后我们发现这个问题就出现在代码的不兼容上,在火狐浏览器下,不可以执行  document.createElement("OPTION");
。对于下拉菜单<select 的 oOption.text 、oOption.value是不能执行的,还有.options.remove也不可以的。详见盒墩数联案例分析

             在此我们把这次原因分享出来时希望大家能共同学习,一起进步,将互联网事业做得更好!


本文由盒墩数联原创文章,如有转载请加上盒墩数联链接:http://www.hedun.net,谢谢合作!

域名常见问题
主机常见问题
邮局常见问题
建站常见问题
备案常见问题
SEO知识大全
关于我们|汇款方式|盒墩招聘|常用文档|友情链接|联系我们|企业文化|网站地图

盒墩数联网站关键词:无锡网站制作无锡网站建设无锡网站优化无锡网络营销无锡网络公司无锡网站设计

客服QQ:无锡网站建设,无锡网站制作,无锡网站优化! 技术QQ:无锡网站建设,无锡网站制作,无锡网站优化!(长期隐身)
咨询电话:0510-83110499 传真:0510-80212079 手机:13306180499 电子邮件地址:web@hedun.net
公司地址:无锡市广益路291号11楼 邮编:214000
Copyright 2007-2012 盒墩数联 Hedun Inc. All rights reserved