各位大侠帮帮忙!!!java web

huaxl342308 2011-10-17 11:11:15
为什么下面的代码验证不了表单呢??

<%@page contentType="text/html;charset=GBK"%>

<html>
<head><title></title>

<script language="javascript">
function validate(f){
if(f.Csno.value==""&&f.Ccno.value==""){
alert("请输入要查询的关键字!");
f.Csno.focus();
f.Csno.select();
return false;
}
return true;
}

function fsubmit(obj){
obj.submit();
}

</script>
</head>

<%
request.setCharacterEncoding("GBK");
%>
<body>
<div align="left" >
<form name="form1" action="zhiyuC.jsp" method="post" onsubmit="return validate(this)"><div align="left" style="background:url(../images/nav01.gif)"></div><hr color="#e1f1f7">
学号:<input type="text" name="Csno"/>
课程号:<input type="text" name="Ccno"/>
<input type="button" value="查询" name="button1" onClick="fsubmit(document.form1);"/>
</form>
<form name="form2" action="zhiyuC.jsp" method="post" onsubmit="return validate1(this)">
成绩从: <input type="text" name="degree1" size="3"/>
到 <input type="text" name="degree2" size="3"/> 之间
<input type="button" value="高级查询" name="button2" onClick="fsubmit(document.form2);"/>
<hr color="#e1f1f7">
</form>
</div>
</body>
</html>

但是这里的确又可以了呢?是不是type="button"的类型的验证表单的方式 不同啊???
<%@page contentType="text/html;charset=GBK"%>

<html>
<head><title></title>

<script language="javascript">
function validate(f){
if(f.Csno.value==""&&f.Ccno.value==""){
alert("请输入要查询的关键字!");
f.Csno.focus();
f.Csno.select();
return false;
}
return true;
}

function fsubmit(obj){
obj.submit();
}

</script>
</head>

<%
request.setCharacterEncoding("GBK");
%>
<body>
<div align="left" >
<form name="form1" action="zhiyuC.jsp" method="post" onsubmit="return validate(this)"><div align="left" style="background:url(../images/nav01.gif)"></div><hr color="#e1f1f7">
学号:<input type="text" name="Csno"/>
课程号:<input type="text" name="Ccno"/>
<input type="submit" value="查询" name="button1" onClick="fsubmit(document.form1);"/>
</form>
<form name="form2" action="zhiyuC.jsp" method="post" onsubmit="return validate1(this)">
成绩从: <input type="text" name="degree1" size="3"/>
到 <input type="text" name="degree2" size="3"/> 之间
<input type="button" value="高级查询" name="button2" onClick="fsubmit(document.form2);"/>
<hr color="#e1f1f7">
</form>
</div>
</body>
</html>





...全文
70 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhmy 2011-10-17
  • 打赏
  • 举报
回复
哦,之前没仔细看事件的调用,既然是这样,何必要多一个function呢,你就直接在你的第一个js中满足条件就提交:
<script language="javascript">
function validate(f){
if(f.Csno.value==""&&f.Ccno.value==""){
alert("请输入要查询的关键字!");
f.Csno.focus();
f.Csno.select();
return false;
}else{
document.submit();
}
}

</script>

然后你的查询按钮就直接用onclick()触发事件
kouyiSC 2011-10-17
  • 打赏
  • 举报
回复
表单‘submit’按钮的验证 用onSubmit,表单‘button’按钮的验证用onclick点击事件。。。这个要分清啊。。。
huaxl342308 2011-10-17
  • 打赏
  • 举报
回复
那你这么说;表单如何验证啊!验证字段不为空时弹出信息啊??
lyhmy 2011-10-17
  • 打赏
  • 举报
回复
额,本应就是type="button"是对的,你上面写的,我还以为你说的是第一个(type="button")是错的,第二个(type="submit")是对的,所以才说你的怎么相反、、、

你为什么一定要用submit的方式来验证呢,你要的结果不就是要让他提交前进行验证么,而你用的js来进行的验证,如果运用了js,那提交就是用到你自己定义的事件了啊,也就是你用的onclick()事件,那就只能用button了。用这两个进行验证是他们没什么其他的区别,就是type的不同而已,你用<input type="button" value="查询" name="button1" onClick="fsubmit(document.form1);"/> 就行了
huaxl342308 2011-10-17
  • 打赏
  • 举报
回复
可上面 的代码我已经验证过了,第一种可以验证表单而第二种却不行。可以把代码粘过去试试就会这样了。


可我要的是第二种形式的表单验证。。帮帮忙!!要是button的话如何验证表单
lyhmy 2011-10-17
  • 打赏
  • 举报
回复
额,不是吧,我记得submit是把提交这个动作给自动集成了的啊,如果表单在提交时需要用js处理(包括输入验证)后再提交的话,通常都是用button,也就是要取消掉它的自动提交的行为,否则,将会造成提交两次的后果啊,怎么lz的是相反的???
huaxl342308 2011-10-17
  • 打赏
  • 举报
回复
哦!谢谢了!解决了

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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