javascript提示框重复弹两次。onSubmit="return checks()"在作怪。怎么搞?

<scriptlanguage="javascript">functionchecks(){varid=document.loginform.c_id.value;var... <script language="javascript">
function checks()
{
var id=document.loginform.c_id.value;
var pass=document.loginform.oldpass.value;
if(id=="")
{
alert("请输入帐号!");
return false;
}
if(pass=="")
{
alert("密码不能为空!!");
return false;
}
return true;
}
</script>
.
.
.
<form name="loginform" method="post" action="update.asp" onSubmit="return checks()">
提示框重复显示两次,原因是表单里onSubmit="return checks()"这句,如果去掉就弹一次了,但是,去掉就起不到验证的作用,即使不填也会提交给update.asp页面。请大虾不吝赐教。
运行情况:
点提交alert("请输入帐号!")弹出两次
填写ID,那么alert("密码不能为空!!")弹出两次
表单里onSubmit="return checks()"这句去掉,就可以了,弹出一次了。但是不能去掉,因为去掉就起不到验证的效果了,不多说了,高手自会明白。。。
展开
 我来答
yulu901107
2007-08-04 · 超过16用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:0
展开全部
我带你还原了一下代码:
测试文件:Test.HTML
<HTML>
<HEAD>
<TITLE>测试</TITLE>
</HEAD>
<BODY>
<script language="javascript">
function checks()
{
var id=document.loginform.c_id.value;
var pass=document.loginform.oldpass.value;
if(id=="")
{
alert("请输入帐号!");
return false;
}
if(pass=="")
{
alert("密码不能为空!!");
return false;
}
return true;
}
</script>

<form name="loginform" method="post" action="update.asp" onSubmit="return checks()">
<input name="c_id" type="text" id="c_id" value="" size="50">
<input name="oldpass" type="password" id="oldpass" value="">
<input type="submit" value="Sure">
</form>

</BODY>
</HTML>

在我这儿测试的结果是:一切正常,用的是你的程序段。

由此看出:你调用了两次update.asp,一是:Submit 的 Action,二是OnSubmit的事件。

由于你直接使用页面的控件作为判断对象:
var id=document.loginform.c_id.value;
var pass=document.loginform.oldpass.value;
所以就算是页面被刷新,数据也不会更改,所以造成两次对话框出现。

对了,我要说明一下我的测试环境:
IIS 5.1

你尝试着将method="post" 删除。
因为你已经有了OnSubmit事件了
百度网友c1afc7b
2007-08-03 · TA获得超过568个赞
知道小有建树答主
回答量:1280
采纳率:0%
帮助的人:323万
展开全部
提示错误就退出不就行了。
两次提示就是因为提示一次后,又发现密码也没,又提示。所以提示到任何一次就退出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dfc33ec65
2007-08-03 · TA获得超过503个赞
知道小有建树答主
回答量:1295
采纳率:0%
帮助的人:831万
展开全部
你是去掉onSubmit="return checks()"只跳一次还是一次都不跳?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
13ygv
2023-06-08
知道答主
回答量:3
采纳率:0%
帮助的人:1181
展开全部
把submit里的onclick去掉就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式