javascript提示框重复弹两次。onSubmit="return checks()"在作怪。怎么搞?
发布网友
发布时间:2022-05-17 07:15
我来回答
共4个回答
热心网友
时间:2022-05-17 08:44
我带你还原了一下代码:
测试文件: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事件了
热心网友
时间:2022-05-17 10:02
提示错误就退出不就行了。
两次提示就是因为提示一次后,又发现密码也没,又提示。所以提示到任何一次就退出
热心网友
时间:2022-05-17 11:37
你是去掉onSubmit="return checks()"只跳一次还是一次都不跳?