[提问]
请教:在本地没有问题,上传服务器却运行不了
|
|
我本地用的是XP的虚拟机,用的是asp+access开发的程序,在我本地跑得没有任何问题
但我上传到godaddy空间后,却老是出问题.主要有以下两个方面:
1、一个页面中有一部分是选择年月日的,在本地上,只要选择了年后,月日自动变成可选。
但在服务器上选择年后,月可以选择,但日却不能选。
相关源码如下:
<SELECT style="color:#333333;WIDTH: 50px" onchange=MyMonthOnchange(); name=dropMyMonth>
<OPTION value=-1 selected>月</OPTION> <OPTION
value=1>1</OPTION> <OPTION value=2>2</OPTION>
<OPTION value=3>3</OPTION> <OPTION
value=4>4</OPTION> <OPTION value=5>5</OPTION>
<OPTION value=6>6</OPTION> <OPTION
value=7>7</OPTION> <OPTION value=8>8</OPTION>
<OPTION value=9>9</OPTION> <OPTION
value=10>10</OPTION> <OPTION
value=11>11</OPTION> <OPTION
value=12>12</OPTION></SELECT>
<SELECT style="color:#333333;WIDTH: 50px" name=dropMyDay> <OPTION
value=-1 selected>日</OPTION></SELECT></td>
</tr>
其中涉及到一个JS文件,源码:
function MyYearOnchanged(){
var myyear = document.getElementById("dropMyYear");
var mymonth = document.getElementById("dropMyMonth");
var myday = document.getElementById("dropMyDay");
if(myyear.value == "-1"){
mymonth.disabled = true;
myday.disabled = true;
}
else{
//初始化dropMyMonth
mymonth.disabled = false;
myday.disabled = false;
mymonth.options[0].selected = true;
//初始化dropMyDay
myday.length = 0;
var myoption = new Option("选择...","-1");
myday.add(myoption);
}
}
function MyMonthOnchange(){
var bigMonths = getBigMonth();
var smallMonths = getSmallMonth();
var month = document.getElementById("dropMyMonth");
var isGone = true;
//初始化dropMyDay为31天
if(isGone){
for(var i=0; i<bigMonths.length; i++){
if(month.value.toString() == bigMonths.toString()){
initDayDrop("big",false);
isGone = false;
break;
}
}
}
//初始化dropMyDay为30天
if(isGone){
for(var i=0; i<smallMonths.length; i++){
if(month.value.toString() == smallMonths.toString()){
initDayDrop("small",false);
isGone = false;
break;
}
}
}
//初始化dropMyDay为28天或29天
if(isGone){
initDayDrop("flat",true);
}
var myday = document.getElementById("dropMyDay");
myday.options[0].selected = true;
}
//初始化dropMyDay,根据月份判断天数
function initDayDrop(monthType, isBigYear){
var dayArray = new Array();
if(isBigYear){
dayArray = getflatDay()
}
else{
if(monthType == "big"){
dayArray = getBigDay();
}
else{
dayArray = getSmallDay();
}
}
loadDropDays(dayArray);
}
//返回天数为31天的大月份
function getBigMonth(){
var bigMonths = new Array();
bigMonths[0] = "1";
bigMonths[1] = "3";
bigMonths[2] = "5";
bigMonths[3] = "7";
bigMonths[4] = "8";
bigMonths[5] = "10";
bigMonths[6] = "12";
return bigMonths;
}
//返回天数为30天的小月份
function getSmallMonth(){
var smallMonths = new Array();
smallMonths[0] = "4";
smallMonths[1] = "6";
smallMonths[2] = "9";
smallMonths[3] = "11";
return smallMonths;
}
//返回2月平月的天数
function getflatDay(){
var year = getYear();
var flatDays = new Array();
//year如果能被4除尽,返回29天的dropMyDays
if((year%4) == 0){
for(var i=0; i<29; i++){
flatDays = i+1;
}
}
//year如果不能被4除尽,返回28天的dropMyDays
else{
for(var i=0; i<28; i++){
flatDays = i+1;
}
}
return flatDays;
}
//返回31天
function getBigDay(){
var bigDays = new Array();
for(var i=0; i<31; i++){
bigDays = i+1;
}
return bigDays;
}
//返回30天
function getSmallDay(){
var smallDays = new Array();
for(var i=0; i<30; i++){
smallDays = i+1;
}
return smallDays;
}
//返回dropMyYear中的年
function getYear(){
var year = document.getElementById("dropMyYear");
var selectedyear = year.value;
return selectedyear;
}
//将返回的数组装载到dropMyDays
function loadDropDays(dayarray){
var dropday = document.getElementById("dropMyDay");
dropday.length = 1;
//alert(dayarray.length);
for(var i=0; i<dayarray.length; i++){
var myoption = new Option(dayarray, dayarray);
dropday.add(myoption);
}
} |
|
|
|
|
|
|
|
|
|
|
chgl123
发表于 2010-8-31 09:33:49
|
显示全部楼层
向各位高手,前辈请教
第二个问题是:在服务器上有些页面经常报该页无法显示,但在本地却不存在此问题 |
|
|
|
|
|
|
|
|
|
|
add.c
发表于 2010-8-31 09:43:28
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
chgl123
发表于 2010-8-31 10:01:50
|
显示全部楼层
程序上没有报错.
只是不能选择,
排版本也变了,我把两张图贴出来
[ 本帖最后由 chgl123 于 2010-8-31 10:02 AM 编辑 ] |
-
这是有问题的
-
这是我本地正常的
|
|
|
|
|
|
|
|
|
|
chgl123
发表于 2010-8-31 10:04:39
|
显示全部楼层
同样的源码,只是在不用的地方运行
结果不一样,搞不明白,排版变了也就算了,连程序运行的地方也有问题.
会不会是因为服务器的IIS版本太高,运行JS的东西有问题呢,要如何配置 |
|
|
|
|
|
|
|
|
|
|
add.c
发表于 2010-8-31 10:18:38
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
酥油茶
发表于 2010-8-31 10:36:02
|
显示全部楼层
原帖由 add.c 于 2010-8-31 10:18 AM 发表 
你用的iis 7? , 管道模式改为classic试试, 参考GoDaddy主机iis相关设置教程
我经常碰到这些问题,多试几次就OK啦。 |
|
|
|
|
|
|
|
|
|
|
chgl123
发表于 2010-8-31 10:38:06
|
显示全部楼层
我已经改成II7和classic了
结果还是不行的.
楼上说的多试几次,如何试?? |
|
|
|
|
|
|
|
|
|
|
niuniu
发表于 2010-8-31 12:04:16
|
显示全部楼层
LZ 的程序有点小问题
你的html中, 使用了 name=..., 但是你下面的 js 代码中 用的却是 document.getElementById 函数, 你要统一, 要么 html中使用 id 做标签, 要么 js 的代码中用 document.getElementsByName 函数
比如
html 代码:
<h1 id="myHeader" onclick="getValue()">This is a header</h1>
js代码:
<script type="text/javascript">
function getValue()
{
var x=document.getElementById("myHeader")
alert(x.innerHTML)
}
</script>
[ 本帖最后由 niuniu 于 2010-8-31 12:06 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
niuniu
发表于 2010-8-31 12:08:36
|
显示全部楼层
|
建议用 getElementsByName 函数, 因为我不清楚你的 html 文件里其他地方是否用了 name 标记 |
评分
-
查看全部评分
|
|
|
|
|
|
|
|