现在大家在在表单提交的时候都不流行中间页面做跳转(比如发布成功的提示页面),或者说这样做会降低用户体验。所以一般都是采用ajax来提交,能看到这个页面的朋友,想必对ajax提交表单已经是很熟悉了。
如果是表单的值是修改密码这种,表单的值比较少,还好,我们可以通过
$.post(url,{password:password},function(data){})
这样来做处理,如果一个表单有20个input需要输入,而且还有很多input表单的name名是二维数组,例如<input name="info[name]">这样的。我们应该怎么办呢?
如果使用jquery,知道jquery提供了一个$("form").serializeArray()的方法,可以用在这里解决。但是还需要自己来做一些处理。
如果使用jquery.form.js来做提交的话,就可以省略这几步啦,不管表单多复杂,它都帮我们封装好发送的机制了。
让我们在发送表单的时候感觉就像是直接发送post一样!
比如这边发送的是<input name="info[name]">的值
在php端,则可以直接使用$_POST['info']['name']来获取了。
在表单提交前,可以设置beforeSubmit和beforeSerialize。
可以在beforeSerialize组装发送的表单值之前修改某些表单的值.
也可以在beforeSubmit可以做表单提交前的验证,不通过则可以阻止表单的提交