HTML-form表单默认提交行为、数据验证+默认行为阻止与否

穿精又带淫゛_ 提交于 2019-12-17 04:40:30

问题1描述
  在写form表单时遇到过这种情况:form 表单中的默认类型的按钮点击会提交,如图1

解析
  这是因为如果 form 中的按钮默认类型是 submit,如果不人为设置的话,就会取默认值 。

解决方法:
  1.给按钮明确类型
  2.把按钮写到 form 表单外,绑定事件,JS提交。

图1
默认类型按钮

问题2描述
  在提交 form 表单之前需要验证一下数据的格式正确与否,但是点击按钮之后,绑定的事件还没生效就跳转界面了。

解析
  此时,button-submit 的执行顺序是在绑定的事件之前的。执行 submit ,就已经跳转界面了,onclick等函数当然不会执行了。

解决办法1:
  1.不给 button 设置类型;
  2.绑定验证函数,判断是否阻止表单默认提交行为,数据最终由 form 表单提交;(图2

  这里的target是另起一个简单页面,只起提供一个提交地址的作用。如图3。函数相应之后,如果数据验证不正确,就通过event.preventDefault() 阻止 button 的默认提交行为,返回 false;如果正确,就返回 true,提交数据。这里案例只验证了是否为空,具体数据格式按个人所需设置。

图2
图2描述
图3
图3
解决办法2:
  1.不给 button 设置类型;
  2.绑定验证函数,验证数据,最终由 ajax 提交;
  

  关于这两个问题到这里就不深讲了,深讲了我也不会,哈哈哈。如果有其他想法且方便,可以留言共享,谢谢。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!