jquery多选择动态参数的使用以及ajax异步请求中提交整个form表单中serializeArray()的使用以及后台值得获取方式
来源:互联网 发布:中国心力衰竭数据平台 编辑:程序博客网 时间:2024/05/20 11:25
对于input单选按钮取值以及判断:
$(function(){ var fingerprint =${obj.data.fingerprint}; for (var key in fingerprint) { /* $("input[type=radio][name='"+key+"']").attr("checked",fingerprint[key]); */ if("input[type=radio][name='"+key+"']"){ if(fingerprint[key]=="0"){ $("input[type=radio][name='"+key+"'][value=0]").attr("checked",true); }else{ $("input[type=radio][name='"+key+"'][value=1]").attr("checked",true); } } if(document.getElementById(key)!=null){ document.getElementById(key).value=fingerprint[key]; } } })
第一个问题是如何判断哪个按钮被选中了,做法就是在input按钮中加入value的值,是用0表示.否用1表示,
<input type="radio" name="r21" value="1">是</label><label><input type="radio" name="r21" value="0">否</label>
这样在用form表单取值的时候就可以得到0或者1的值了
然后用到了jquery的选择器
input[type=radio][name='"+key+"'][value=1]
这里是三个条件,input是radio类型,name属性,以及value值
name属性中的是key,是一个动态变量,因为radio按钮有很多,是循环显示的,key的值是input的name值,先得到是那个name的input,然后在判断数据库中的fingerprint[key]值是1还是0,然后判断,赋值,选中。
第二个问题是涉及到用ajax结合其方法serializeArray()的使用,serializeArray()时直接将form表单中的数据序列化成json对象,然后前台用dto接收
第一个错误是先前写的是
$('form').submit(function() { $.ajax({ url:'${base}/userCompany/saveFingerprint', type:'post', data:{"name":$("#form").serializeArray()}, success:function(){ alert("保存成功"); }, error:function(result){ //alert(result.responseText || '请求的操作出错了!'); } });
这样写是得不到值得,先前传参数的时候是这样的{name:zhang,age:45}这里表示的只是一个input属性,而现在要传递的是整个form表单的数据,这里在把整个json对象写死是错误的,应该直接data:formData
争取的写法是这样的:
$('form').submit(function() { var formData = $("#form").serializeArray(); $.ajax({ url:'${base}/userCompany/saveFingerprint', type:'post', data:formData, success:function(){ alert("保存成功"); }, error:function(result){ //alert(result.responseText || '请求的操作出错了!'); } }); return false; });
第二个错误是在接受这个form表单数据的时候,我按照接受单个参数的思维接受这个form表单中的数据,写
public Object saveFingerprint(@Param("fingerprintDto")") FingerprintDto fingerprintDto)
fingerprintDto前在ajax中data中的名字,这样是不行的,无法直接接受整个json,所以要写成这样
public Object saveFingerprint(@Param(..)") FingerprintDto fingerprintDto)
..表示的是通配符,表示我需要fingerprintDto中的什么数据,他就匹配什么数据,比如我需要name属性的值,就可以变成
@Param("name")") FingerprintDto fingerprintDto.getName
这样就可以获取整个fingerprintDto的值了
- jquery多选择动态参数的使用以及ajax异步请求中提交整个form表单中serializeArray()的使用以及后台值得获取方式
- 使用ajax 提交多个form表单以及其他参数
- 使用$(form).serializeArray()提交表单,获取不到表单值的问题
- Ajax模仿form表单提交 以及jquery的param()方法
- 关于使用Ext.Ajax.request()异步提交中form参数的问题
- 关于jQuery使用serializeArray()序列化表单数据,使用FormData()实现AJAX请求的问题
- 如何使用Ajax(XMLHttpRequest)发送带参数的请求,以及如何在Servlet中获取请求中的参数
- struts2中form表单使用post方式提交参数(键值对)超过10000的限制
- 总结:FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- 总结:FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- 总结:form中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
- ajax请求下载Stream形式的文件,需要使用form表单提交的方式
- 使用jQuery.form插件,实现完美的表单异步提交
- 使用jQuery.form插件,实现完美的表单异步提交
- 如何判断app在前台还是后台
- CI框架
- [LeetCode]413. Arithmetic Slices
- 如何理解和熟练运用js中的call及apply
- 深度学习Caffe实战笔记(2)用LeNet跑车牌识别数据
- jquery多选择动态参数的使用以及ajax异步请求中提交整个form表单中serializeArray()的使用以及后台值得获取方式
- 虫食算
- 程序员的七大痛点
- git命令
- 关于Fragment和Activity之间通讯传参的一点小心得
- Git常用命令及使用心得
- 银行卡号验证js(luhn算法)
- Android Linux内核驱动程序(基于mtk方案 3.18内核)
- Linux 文件按大小排序