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()"这句去掉,就可以了,弹出一次了。但是不能去掉,因为去掉就起不到验证的效果了,不多说了,高手自会明白。。。 展开
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()"这句去掉,就可以了,弹出一次了。但是不能去掉,因为去掉就起不到验证的效果了,不多说了,高手自会明白。。。 展开
4个回答
展开全部
我带你还原了一下代码:
测试文件: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事件了
测试文件: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事件了
展开全部
提示错误就退出不就行了。
两次提示就是因为提示一次后,又发现密码也没,又提示。所以提示到任何一次就退出
两次提示就是因为提示一次后,又发现密码也没,又提示。所以提示到任何一次就退出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是去掉onSubmit="return checks()"只跳一次还是一次都不跳?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把submit里的onclick去掉就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询