首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

碰到件怪事:提交表单时,提示不能为空后,还是跳转到目标页面去了

2014-04-30 
遇到件怪事:提交表单时,提示不能为空后,还是跳转到目标页面去了大家可以直接把这俩文件复制出来测试使用,

遇到件怪事:提交表单时,提示不能为空后,还是跳转到目标页面去了
大家可以直接把这俩文件复制出来测试使用,第一表单点击提交后,确实给出提示了,可是点了弹框上的确定以后,该表单还是被提交给表单处理页了:
1,这是表单页面:文件名是“1.asp”


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="JavaScript" type="text/JavaScript">
 function myCheck()
            {
               for(var i=0;i<document.form1.elements.length-1;i++)
               {
                  if(document.form1.elements[i].value=="")
                  {
                     alert("用户名和密码不能有空项");
                     document.form1.elements[i].focus();
                     return false;
                  }
               }
               return true;
              
            }
</script>

</head>

<body>
<table style="width:570px; height:462px" align="center">
  <tr><td >
<form id="form1" name="form1" method="post" action="2.asp" onsubmit="return myCheck()">
<table width="338" border="0" align="center" cellpadding="5" cellspacing="0">
  <tr>
    <td >user:<input name="user" type="text" class="username" id="user" size="30" />
</td>
  </tr>
  <tr>
    <td class="title">password:<input name="pwd" type="password" class="password" id="pwd" size="30" />
  </tr>
  <tr>
    <td align="right"><input type="image" src="/images/loginin.gif" onclick="this.form.submit()"/> </td>
  </tr>
</table>
</form>
</td></tr>
</table>
</body>
</html>


2,这是提交后的页面:文件名是“2.asp”



<%
response.write"<SCRIPT language=JavaScript>alert('如果你看到我了,就表示上一个表单被提交到本页来了!');"
response.write"javascript:history.go(-1)</SCRIPT>"
response.end
%>

[解决办法]
<input type="image" src="/images/loginin.gif" onclick="this.form.submit()"/> 这个的问题,去掉onclick。。。

type=image 默认就是submit 按钮了.

PS:根据html标准,input 的 type=image 的涵义与 type=submit 相同,只是可以用图片替代提交的按钮。所以 type=image 直接触发 onsubmit 事件。
[解决办法]
#1 说的对  <input type="image"  > = type=submit 
你这样写等于提交两次, this.form.submit() 不能会触发 onsubmit事件
[解决办法]
<input type="image" src="/images/loginin.gif" onclick="this.form.submit()"/>

上面这句的问题。

用图片做的提交按钮,只要点击了,就会触发提交动作。
[解决办法]
建议换成非图片。

这样对减轻服务器负担很有效

热点排行