js验证表单return false依然提交求解

bdw9005 2012-06-26 08:56:03
js
<script language="JavaScript">
function isValid(form1){
if(!checkstartdata(form1.startdata.value)){
form1.startdata.focus();
return false;
}
else if(!checkenddata(form1.enddata.value)){
form1.enddata.focus();
return false;
}
return true;
}
function checkstartdata(startdata)
{
if(startdata==""){
alert("startdata不能为空");
return false;
}
else{
return true;}
}
function checkenddata(enddata)
{
if(enddata==""){
alert("enddata不能为空");
return false;
}
else
return true;
}
</script>

表单:

<form method="post" theme="simple" name="form1" onSubmit="return isValid(this)" action="pbifDataList">
startData:<ds:datetimepicker name="startdata" type="date" label="Format (yyyy-MM-dd)" displayFormat="yyyy-MM-dd"/>
<br>
endData:<ds:datetimepicker name="enddata" type="date" label="Format (yyyy-MM-dd)" displayFormat="yyyy-MM-dd"/>
<br>
<s:submit value="find"></s:submit>
</form>



...全文
570 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackson_fighting 2012-06-29
  • 打赏
  • 举报
回复
js 报错的话 return false 也是不管用的
jumpheightway 2012-06-29
  • 打赏
  • 举报
回复
你这个方法当然不论true还是false都会提交,提交按钮是不管你返回的值是什么的,都会提交
严小超 2012-06-29
  • 打赏
  • 举报
回复
把源码放到Editplus里面,然后,CTRL+B,能提示错误的,你就能找到是什么原因了
熊熊熊熊熊 2012-06-29
  • 打赏
  • 举报
回复
把return false放在if判断外
少年太天真 2012-06-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
你这个方法当然不论true还是false都会提交,提交按钮是不管你返回的值是什么的,都会提交
[/Quote]

LZ 在提交之前有onSubmit="return isValid(this)"
返回false 是不会提交的
sd8023580 2012-06-26
  • 打赏
  • 举报
回复
你这样没用,返回的布尔值和提不提交没有任何关联。建议这么做:不要在form表单里声明这些东西,我个人处理起来别扭。给你看段代码,可以在JS里面做这些操作,按钮只是触发一个事件就可以了

var postForm = document.createElement("form");//表单对象
postForm.method="post" ;
postForm.action = 'login.jspx' ;

var emailInput = document.createElement("input") ; //email input
emailInput.setAttribute("name", "email") ;
emailInput.setAttribute("value", email);
postForm.appendChild(emailInput) ;
var pwdInput = document.createElement("input");// password input
pwdInput.setAttribute("name","password");
pwdInput.setAttribute("value",pwd);
postForm.appendChild(pwdInput);

document.body.appendChild(postForm) ;
postForm.submit() ;
document.body.removeChild(postForm) ;

这段代码是别人网站上粘贴来的,我这么跟你说,你可以document.getElementById('form1')获取你的表单对象,然后,赋予post提交,赋予action名称。自己定义和调用验证,验证完了后,用JS执行你的submit。
另外,个人不建议用struts标签,性能很不好。
9441 2012-06-26
  • 打赏
  • 举报
回复
肯定是JS有错误,你再仔细检查一下
有始有终1 2012-06-26
  • 打赏
  • 举报
回复
else 去掉

if(false){
return false;
}

if(false){
return false;
}

if(false){
return false;
}

return true;

81,092

社区成员

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

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