解决传递web页面多个表单(buffalo)

看到楼上的用 buffalo 解决传递web页面多个表单。
刚好项目中有用过。。 分享一下。部份代码。

当增加一条数据时。获取前台页面表单值。如果有很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() - 8);
d["value"] = dateTime;
obj[elemName] = d;
}
} else {
obj[elemName] = elements[i].value;
}
}
}


供参考。 欢迎大家交流!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值