jquery中的submit方法怎么用
submit()方法绑定在form表单元素上,当绑定的表单被提交时(通过点击按钮、按回车键等),会触发该方法。实例:
<form id="form1" autocomplete="off"> <input type="text" name="model.username"/> <input type="password" name="model.password"/> <input type="submit" value="登录" /> </form>
$('#form1').submit(function() { $.ajax({ url: '/index!login.do', data: $('#form1').serialize(), type: "POST", dataType: "json", cache: false, success: function(data) { if (data.login == true || data.login == "true") { // 登录成功 location.replace('/main/index.do'); } else { alert('登录失败!请检查用户名或密码'); } } });});
jquery.form提交后如何获取数据
$("button").click(function(){ alert($(this).serialize());});//或者$('form').submit(function() { alert($(this).serialize()); return false;});
serialize() 方法通过序列化表单值,创建 URL 编码文本字符串
jquery为什么要序列化
用ajax传递表单的数据,如果不进行表单的序列化,要一个参数一个参数的写,太麻烦,序列化的话,一句代码搞定。data:$('form').serialize(),这样一句话解决复杂的表单ajax的post传值过程。
提交时数据是直接以原始格式存储在body中而不是以键值对的方式附加到url中的,所以后台程序是无法直接识别的,这时候就需要在提交前先把data转换为 a=1&b=2&c=3 的格式再提交,这就是序列化。
当然,如果数据是通过表单提交的,那么不管是post方式还是get,浏览器会自动进行序列化,无需前端js再做任何处理。