在线的高手们,请帮忙看一下,这段代码错在哪里了?????????

303 2002-01-30 09:13:06
为什么调用完checkdata()后,再用g()和s()就不好使了。如果先用g()和s()就好使,请问这是为什么?


<script Language="javascript">
<!--
function CheckData()
{
yea=form1.y.value
mon=form1.m.value
da=form1.d.value
g=form1.dwsxg.value
s=form1.dwsxs.value
var j=0;
var c=0;
for(i=0;i<document.all.radio1.length;i++)
{
if(document.all.radio1[i].checked==true)
{
j=1;c=i+1;
}
}
if (form1.name.value == "")
{ //检查是否完成姓名输入
window.alert("姓名不能为空,请输入姓名!");
form1.elements(0).focus();
}
else if(j!=1)
{
alert('请选择添加为公用还是私用!');
}
else if((c==1)&(g.length==0))
{
alert("选择公用中的哪个组!")
}
else if((c==2)&(s.length==0))
{
alert("选择私用中的哪个组!")
}
else if (form1.E_mail.value!="")
{
if(form1.E_mail.value.indexOf("@") == -1)
{
window.alert("E-Mail帐号格式不对,请检查!");
form1.elements (8).focus();
}
else
form1.submit();
}
else if (yea.length!=0||mon.length!=0||da.length!=0)
{
if (yea.length!=4)
{
alert("年份输入错误,请输入正确格式,如:1949年10月01日")
form1.elements (4).focus();
}
else if (mon.length!=2)
{
alert("月份输入错误,请重新输入!")
form1.elements (5).focus();
}
else if (da.length!=2)
{
alert("日期输入错误,请重新输入!")
form1.elements (6).focus();
}
else
form1.submit();
}
else
form1.submit();
}
-->
</script>

<script language=javascript>
<!--
function g()
{

var jjj=0;
var ccc=0;
for(iii=0;iii<document.all.radio1.length;iii++)
{
if(document.all.radio1[iii].checked==true)
{
jjj=1;ccc=iii+1;
}

}
//alert(cc)
if(ccc==1)
{

form1.dwsxg.disabled=false;
form1.dwsxs.disabled=true;
}
}
function s()
{
var jj=0;
var cc=0;
for(ii=0;ii<document.all.radio1.length;ii++)
{
if(document.all.radio1[ii].checked==true)
{
jj=1;cc=ii+1;
}

}
if (cc==2)
{
form1.dwsxg.disabled=true
form1.dwsxs.disabled=false;
}
}
//-->
</script>
...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
KnowLittle 2002-01-30
  • 打赏
  • 举报
回复
你的g(),s()是用什么事件触发的?
playmud 2002-01-30
  • 打赏
  • 举报
回复
网页上的程序一般都是按照代码的顺序执行的。
lihaitaoami 2002-01-30
  • 打赏
  • 举报
回复
把几个函数的顺序调换一下,应该是可以的。试一下,我也曾遇到同样的问题,就是这么解决的。
303 2002-01-30
  • 打赏
  • 举报
回复
我已经在开始就声明了这两个函数,但试过了后还是不行???
lihaitaoami 2002-01-30
  • 打赏
  • 举报
回复
函数调用有一个先后的问题。被调用的函数一定要在前面先声明,如果没有声明的话,它会自动刷新页面往后面找。
你把g()和f()放到checkdata()前面来,应该就没有问题了。
我也碰到过类似问题,搞得头疼。
sdtashenjie 2002-01-30
  • 打赏
  • 举报
回复
变量名和函数名,改为其他,如果相同可能产生以上错误。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧