问题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
图3
解决办法2:
1.不给 button 设置类型;
2.绑定验证函数,验证数据,最终由 ajax 提交;
关于这两个问题到这里就不深讲了,深讲了我也不会,哈哈哈。如果有其他想法且方便,可以留言共享,谢谢。
来源:CSDN
作者:周士森
链接:https://blog.csdn.net/weixin_43690495/article/details/103569141