Jun 3

buffalo使用问题集锦 不指定

chirs , 16:27 , 瓜哇天地 » BUFFALO , 评论(0) , 引用(0) , 阅读(2819) , Via 本站原创 | |
1.提交数组问题
var int1=document.getElementsByName("a");

页面用js封装成array,后台用String[]接收.
2.解决传递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;
}
}
}
Tags: , ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]