js 通用表单提交2-submit的控制和ajax提交

通过上次的尝试我们发现表单中可以通过onsubmit来一定程度的控制form的submit动作。但是很快我们就发现这种情况下无法控制submit的后续动作,也就是页面跳转。那么怎么解决这个问题呢,我们进一步可以观察发现大多数时候我们是通过一个type=submit的按钮来实现表单提交的。也就是在form的onsubmit之前,我们实际上会有一个点击按钮的操作,那么我们就可以通过阻止按钮的默认动作来阻止form的submit。

然后由此引申我们可以创造一个另外的按钮用来提交form,举个小例子:

在这段代码中我们就使用了一个name为submit的按钮进行提交,当然在这里没有写关于checkform的代码,但是我们这样需要每个按钮都添加onclick,那个不符合我们“偷懒”的程序员的人设,所以我们又想出一个办法:

这段代码请引入jquery使用,我们很“偷懒”的让js替我们找到了submit并且在它的上一级form执行submit前阻止了它,也就是最后return false的作用。

那我们何时进行ajax提交呢?

继续上例子:

在这个例子中,我们在提交表单的阻止方法中增加了ajax提交,其中data就是我们表单中的数据通过key/value方式进行组织并提交。

留下两个思考吧:

1、当form的action为空的时候如何提交

2、data如何组织或者序列化,key/value的方式组织之后还需要什么操作?(ps:这好像是三个问题,不过不要在意这些细节)

以上是从项目中拷贝并脱敏后的代码,但是还是要感谢开源,感谢从前前辈的分享。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值