工作中的技术总结_ form表单使用注意事项之form触发后台提交事件 _20220127

如无必要不要使用 form标签 来作为组件的父节点

事件过程:

项目使用的是 spring + jsp 的框架,根据业务需要添加了一个模块。由于项目中有既有的类似功能,选择进行迁移改写。但是 这一功能的原来是需要进行 form 表单提交的,而新加的模块只需要控件展示,不需要对 form表单进行提交,而是另外通过事件来获取并提交其中的 input 控件 value。

由于在迁移过程中 没有注意到该细节,导致 只要 input获得焦点 并 点击 Enter键 就会触发表单事件,这时如果是 input中是 空值 就会报错 已为此响应调用 getOutputStream () ……Constructs a InvocationTargetException with a target exception. 解决了这个问题,我没有第一时间 再现 bug 详细报错情况就不展示了。

通过将 form标签 改成 div标签 就解决了以上问题,一般情况 这个 错误是 比较难发现的,但是 项目中要求 的是 改 input 控件的值 能够 通过键盘输入 也能够通过 下拉列表选择,使用下拉列表时不会报系统错误,而使用 键盘输入时,只要点击 Enter键 就会导致系统错误,这才暴露了这个问题。

一般,我们的使用习惯都是 输入之后 再点击 Enter键 进行确认。所以不容许以上错误现象发生

总之,如非必要,不使用 form标签 作为 展示信息的控件的 父节点,这一点很重要。

<!--引发错误的代码 只要将 form 替换为 div 就能解决-->
<form class="form-inline">
<div class="row" style="margin-bottom:5px;">
<div class="col-sm-8 col-xs-6" style="margin-top: 20px; margin-left: 20px;">
Start Date &nbsp;
<div class="input-group date form_date" data-date="" data-date-format="ddMyy" data-link-field="startDateShow"
data-link-format="yyyy-mm-dd" id=startDateDiv>
<input class="form-control input-sm" id="startDate" name="startDate" size="8" type="text" value="" spellcheck="false" maxlength="9">
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
</form>

工作中的技术总结_ form表单使用注意事项之form触发后台提交事件 _20220127的更多相关文章

  1. form表单target的用法,实现无刷新提交页面

    form表单的target,当将iframe设置为隐藏时,可以实现当前页表单提交而不进行跳转刷新.代码如下,首页在页面里准备一个form表单和一个iframe. <form action=&qu ...

  2. 不使用ASP.NET服务器端控件(包括form表单不加runat="server")来触发.cs里的事件(方法),(适用于有代码洁癖者)。

    很多时候,我们使用服务器端控件写出的代码,会给我们生成一些很多我们看不懂的代码(初学者),但是有时候我们并不需要这些代码(业务需求不同),对于生成的一些代码感到多余.所以我就开始想,有没有一种可能:不 ...

  3. html5之table嵌入form表单布局(务必注意:table标签必须在form表单内部,不能再form表单外部!)

    切记:用table标签来布局form表单元素,table标签必须放在form表单内部,否则可能会出现各种bug 原文地址:https://blog.csdn.net/weixin_43343144/a ...

  4. Form表单如何传递List数组对象到后台的解决办法(转)

    举例说明: [后台有一个对象 User    一个PhotoDo对象],结构如下: public class User{ private String username; private List&l ...

  5. form 表单添加 enctype ="multipart/form-data" 属性后后台接收中文乱码

    解决办法: new String( request.getParameter("title").getBytes("ISO-8859-1"),"utf ...

  6. form表单 相同name 多个value 的后台接受问题

    使用ajax序列化传到后台. data : $("#formid").serialize(); public void fun(@Valid Vo vo){} 使用vo的数组字段属 ...

  7. 小程序 <web-view></web-view> 中使用 form 表单提交

    在最近的小程序项目中,使用到了 <web-view></web-view> 内嵌 H5 页面,在 H5 中需要使用 form 表单提交数据. H5 使用的技术框架是 vue+v ...

  8. 获取html 中的内容 将前台的数据获取到后台 用 jquery 生成一个 form表单 提交数据

    使用js创建一个form表单 ,使用post上传到后台中 下面是代码.在获取html内容的时候使用了js节点来获取内容. parent:父节点.上一级的节点 siblings:兄弟节点.同一级别的节点 ...

  9. 封装react antd的form表单组件

    form表单在我们日常的开发过程中被使用到的概率还是很大的,比如包含了登录.注册.修改个人信息.新增修改业务数据等的公司内部管理系统.而在使用时这些表单的样式如高度.上下边距.边框.圆角.阴影.高亮等 ...

  10. Django学习笔记(6)——Form表单

    知识储备:HTML表单form学习 表单,在前端页面中属于最常见的一个东西了.基本上网站信息的提交都用到了表单,所以下面来学习Django中优雅的表单系统:Form 表单的主要作用是在网页上提供一个图 ...

随机推荐

  1. java关于数组的复制,反转、查找

    一.数组的赋值: arr2=arr1;对于该赋值而言,地址值一样,所以arr1会随着arr2的变化而变化.这不能称作数组的复制,因为只是把地址赋过去了.地址一样,指向的是堆空间中唯一的数组实体(数值) ...

  2. kafka查看未被消费的消息

    $ kubectl exec -it gitee-kafka-0 -n gitee bash unset JMX_PORT $ kafka-consumer-groups.sh --bootstrap ...

  3. Win32 滚动条控件

    1.创建控件 HWND hScrollBar = ::CreateWindow( WC_SCROLLBAR,                           //控件类名 NULL,        ...

  4. kafka消费者处理能力低引起rebalance分析

    一.背景介绍 项目上进行算法调度的需求,打算采用kafka作为消息中间件,通过将多个算法消费者加入到同一个group中并行的处理算法请求,从而达到高效处理的目的.但是算法处理的时间较长,多则几十分钟, ...

  5. 将微信小程序的代码上传到github

    在微信小程序端上传的时候会报错,昨天整了一晚上,没有解决.今天偶然发现了解决方案,下面分为两种情况来说. 一.未生成git仓库 将一号区域的代码粘贴到微信小程序的终端即可 二.已生成了git仓库 将二 ...

  6. Docker 发布镜像

    发布镜像 在 Docker Hub 发布镜像 登陆到 Docker Hub docker login 标记镜像并推送到 Docker Hub docker tag <image>:< ...

  7. 【爬虫实战】——利用bs4和正则表达式,简单实现爬取数据

    前言 好久没有写博客了,由于一直比较忙,感觉快荒废了学习的步伐,最近由于需要利用爬虫爬取数据,总结一下,以便以后查阅. 目录 一.bs4的安装 二.bs4解析器 三.定位查找标签 四.转换格式 五.提 ...

  8. 对GEE下载时分块影像进行镶嵌(GDAL)

    前言 GDAL自带的镶嵌功能比较单一,只能将图像简单拼接到一起,不能实现直方图匀色以及羽化等功能,但是对GEE导出的分块影像进行镶嵌较为适合. 优点: 使用代码,镶嵌多个影像较为简便 GDAL较为稳定 ...

  9. 【YashanDB数据库】大事务回滚导致其他操作无法执行,报错YAS-02016 no free undo blocks

    问题现象 客户将一个100G的表的数据插入到另一个表中,使用insert into select插入数据.从第一天下午2点开始执行,到第二天上午10点,一直未执行完毕. 由于需要实施下一步操作,客户k ...

  10. 【YashanDB知识库】列与存储过程中重名变量/别名问题

    问题现象 当一条查询中出现了重复别名,或者在一个存储过程中出现了变量名称与查询中别名相同,就会报错.这个问题在多个客户现场出现. create table test_tab1 (c1 int, c2 ...