form的onsubmit事件--表单提交前的验证最佳实现方式

   今天遇到了一个问题,页面中include了很多的公共页面(都是没有form的),并且里面好多的地方都是自行提交的(页面中加入一个type=“submit”域,然后js中写入sumbit.click来执行提交的)。但我需要在每次提交前都要验证一下表单中的填写是否符合要求,如果我给每个提交的地方都添加验证函数的调用,那工作量就大了。

    这时我得需要一个措施,就是在表单提交前统一进行验证。从body有页面关闭前的事件onbeforeunload推想到,form应该也有提交前的事件,上网一查,真有,就是onsubmit。此事件的功能就是在表单提交前自动执行指定的东西。

    需要注意的是,onsubmit=“return check()”中的return是一定要加上的,不然check的返回值哪怕是false,仍然提交。也就是说,onsubmit=“return false”为不执行提交;onsubmit=“return true”或onsubmit=“return ”都执行提交;

------------------------------------------

主页面如下:

<HTML>

<HEAD>

<script type="text/javascript">

//form提交前,验证:营销活动最少选择两个
function check(){
    if(验证条件不通过){
        return false;
    }else{

        return true;//不写此返回值也行,此时就直接提交了

    }
}
</script>

</HEAD>
<body onload="doOnLoad()">
<form id="queryForm" onsubmit="return check()" action="<%=request.getContextPath()%>/FocReportServlet">

<jsp:include flush="true" page="../pub.jsp"/>
<jsp:include flush="true" page="../condition.jsp"/>
<jsp:include flush="true" page="condition_marketing.jsp"/>
<jsp:include flush="true" page="contrastChart.jsp"/>

<jsp:include flush="true" page="../pagectrl.jsp"/>

...

<input type="submit" id="submit" name="submit" style="visibility:hidden"/>

 

<HTML>

-----------------------------------

include页面中提交方式:

<img src="<%=request.getContextPath()%>/focReport/images/control_play_blue.png" style="cursor:hand" onclick="sending.style.visibility='visible';submit.click()" alt="点击提交分析">

posted @   遥望星空  阅读(1648)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2013-03-19 Installing TFS 2012 with Lab Management 2012
点击右上角即可分享
微信分享提示