浏览 3754 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-24
刚好项目中有用过。。 分享一下。部份代码。 当增加一条数据时。获取前台页面表单值。如果有很N个。。 <form id="addForm" > <input id="add.name" > <input id="add.address"> <input id="add.tel">。。。。。。N个。 </form> 做法。 var addObj = {}; addObj[Buffalo.BOCLASS]="com.ptn.opera.domain.user.User"; 接下来对以对传递对象的方式处理页面上的所有表单的参数 FormUtil.formToObject("addForm",addObj,"add"); 之后利于 buffalo.remoteCall("userService.addUsers", [addObj], function(reply){ if (reply.isFault()) { alert(reply.getResult()); } else { alert(reply.getResult()); } }); 对方法 FormUtil。formToObject代码 如下。 对于其中的("jType")实际出现在 <input id="add.id" jtpye="int" >对表单值类型转换 FormUtil.formToObject = function(formId, obj, objName) { var formObj = document.getElementById(formId); var elements = formObj.elements; for (var i=0; i<elements.length; i++) { var elemName = elements[i].name; if (elemName.indexOf(objName) != 0) { continue; } elemName = elemName.substring(objName.length + 1); var jType = elements[i].getAttribute("jType"); if (jType != null) { if (jType == "int") { obj[elemName] = parseInt(elements[i].value); } else if (jType == "Date" && elements[i].value != "") { var d = {}; d[Buffalo.BOCLASS] = "java.sql.Timestamp"; var dateValue = elements[i].value; var year = dateValue.substring(0,4); var monthDay = dateValue.substring(5, 10); var hhmmss = dateValue.substring(10); dateValue = monthDay + "-" + year + hhmmss; alert(dateValue); var dateTime = new Date(dateValue); //var dateTime = new Date("01-26-2007 23:21:20"); dateTime.setHours(dateTime.getHours() -; d["value"] = dateTime; obj[elemName] = d; } } else { obj[elemName] = elements[i].value; } } } 供参考。 欢迎大家交流! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |