<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>iton</title>
    <description></description>
    <link>http://iton.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title> 解决传递web页面多个表单(buffalo)</title>
        <author>iton</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iton.javaeye.com">iton</a>&nbsp;
          链接：<a href="http://iton.javaeye.com/blog/104522" style="color:red;">http://iton.javaeye.com/blog/104522</a>&nbsp;
          发表时间: 2007年07月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          看到楼上的用 buffalo 解决传递web页面多个表单。<br />刚好项目中有用过。。 分享一下。部份代码。<br /><br />当增加一条数据时。获取前台页面表单值。如果有很N个。。<br />&lt;form id="addForm" ><br />&lt;input id="add.name" ><br />&lt;input id="add.address"><br />&lt;input id="add.tel">。。。。。。N个。<br />&lt;/form><br />做法。<br />    var addObj = {};<br />    addObj[Buffalo.BOCLASS]="com.ptn.opera.domain.user.User";<br /><br />接下来对以对传递对象的方式处理页面上的所有表单的参数<br /> FormUtil.formToObject("addForm",addObj,"add");<br />之后利于 <br />buffalo.remoteCall("userService.addUsers", [addObj], function(reply){<br />		if (reply.isFault()) {<br />                  alert(reply.getResult());<br />                } else {         <br />  	         alert(reply.getResult());  <br />     	       }<br />	   });<br /><br /><br /><br />对方法 FormUtil。formToObject代码 如下。<br /><br />对于其中的("jType")实际出现在  &lt;input id="add.id" jtpye="int" >对表单值类型转换<br /><br />FormUtil.formToObject = function(formId, obj, objName) {<br />    var formObj = document.getElementById(formId);<br />    var elements = formObj.elements;<br />    for (var i=0; i&lt;elements.length; i++) {<br />        var elemName = elements[i].name;<br />        if (elemName.indexOf(objName) != 0) {<br />            continue;<br />        }<br />        elemName = elemName.substring(objName.length + 1);<br />        var jType = elements[i].getAttribute("jType");<br />        if (jType != null) {<br />        	if (jType == "int") {<br />        		obj[elemName] = parseInt(elements[i].value);<br />        	} else if (jType == "Date" && elements[i].value != "") {<br />        		var d = {};<br />        		d[Buffalo.BOCLASS] = "java.sql.Timestamp";<br />        		var dateValue = elements[i].value;<br />        		var year = dateValue.substring(0,4);<br />        		var monthDay = dateValue.substring(5, 10);<br />        		var hhmmss = dateValue.substring(10);<br />        		dateValue = monthDay + "-" + year + hhmmss;<br />        		alert(dateValue);<br />        		var dateTime = new Date(dateValue);<br />        		//var dateTime = new Date("01-26-2007 23:21:20");<br />        		dateTime.setHours(dateTime.getHours() - 8);<br />        		d["value"] = dateTime;<br />        		obj[elemName] = d;<br />        	}<br />        } else {<br />            obj[elemName] = elements[i].value;<br />        }<br />    }<br />}<br /><br /><br /><br /><br />供参考。 欢迎大家交流！
          <br/>
          <span style="color:red;">
            <a href="http://iton.javaeye.com/blog/104522#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 24 Jul 2007 00:14:25 +0800</pubDate>
        <link>http://iton.javaeye.com/blog/104522</link>
        <guid>http://iton.javaeye.com/blog/104522</guid>
      </item>
  </channel>
</rss>