buffalo 2在返回的数据与form表单绑定时,为什么其它控件都可以,就是textarea没有内容?

7 views
Skip to first unread message

Royel

unread,
Aug 28, 2008, 3:39:01 AM8/28/08
to buffalo与Amowa
我在用buffalo 2开发时,form绑定出了问题,其它控件都实现了绑定,可textarea没有内容出来,请问是什么原因?谢谢啦

Michael Chen

unread,
Aug 28, 2008, 4:40:29 AM8/28/08
to am...@googlegroups.com
请给出能够重现问题的代码样例

2008/8/28 Royel <huhe...@gmail.com>:


> 我在用buffalo 2开发时,form绑定出了问题,其它控件都实现了绑定,可textarea没有内容出来,请问是什么原因?谢谢啦
> >
>

--
Michael Chen
--------------------------------
Blog: http://michael.nona.name
MSN: jzch...@hotmail.com

Royel

unread,
Sep 1, 2008, 8:19:00 PM9/1/08
to buffalo与Amowa
代码如下:

<script language="javascript">
var END_POINT = "/bfapp";
var buffalo = new Buffalo(END_POINT, false);
function selectClazz() {
var p1 = $("clazz").value;
buffalo.bindReply("urlSvc.getUrlsByClazzIdForAjax", [p1], "url");
}

function selectUrl() {
var p1 = $("url").value;
buffalo.bindReply("urlSvc.getUrlByUrlIdForAjax", [p1], "form1");
}

</script>

.....


<form id="form1" name="form1" method="post" action="">
<table width="610" cellpadding="2" cellspacing="01" border="0"
id="calendar">
<tr id="noborder">
<td colspan="7" class="subHeader">修改商家</td>
</tr>
<tr id="weekdays" bgcolor="#003399">
<th align="center" width="15%" class="smallText">&nbsp;</
th>
<th align="center" width="14%" class="smallText">&nbsp;</
th>
<th align="center" width="14%" class="smallText">&nbsp;</
th>
<th align="center" width="14%" class="smallText">&nbsp;</
th>
<th align="center" width="14%" class="smallText">&nbsp;</
th>
<th align="center" width="14%" class="smallText">&nbsp;</
th>
<th align="center" width="15%" class="smallText">&nbsp;</
th>
</tr>
<tr id="calheader" bgcolor="#ffffcc">
<td align="center" valign="middle" class="smallText">选择
URL</td>
<td colspan="6" valign="middle" class="smallText"><select
name="clazz" id="clazz" style="width:120px"
onchange="form1.name.focus();selectClazz();">
<option value="">请选择分类</option>
<#list clazzes as clazz>
<option value="${clazz.clazzId }">${clazz.clazzName }</
option>
</#list>
</select>
<select name="url" id="url" jtext="name" jvalue="uid"
onchange="form1.name.focus();selectUrl();">
</select> </td>
</tr>
<tr>
<td align="center" valign="middle" class="smallText">名称</
td>
<td colspan="6" valign="top" class="smallText"><input
name="name" type="text" id="name" style="width:300px" /></td>
</tr>
<tr id="calheader" bgcolor="#ffffcc">
<td align="center" valign="middle" class="smallText">说明</
td>
<td colspan="6" valign="top" class="smallText"><textarea
name="nodeInfo" rows="3" id="nodeInfo" style="width:300px"></
textarea></td>
</tr>
<tr>
<td align="center" valign="middle" class="smallText">网址</
td>
<td colspan="6" valign="top" class="smallText"><input
name="urlstr" type="text" id="urlstr" style="width:300px" /></td>
</tr>
<tr id="calheader" bgcolor="#ffffcc">
<td align="center" valign="middle" class="smallText">颜色</
td>
<td colspan="6" valign="top" class="smallText"><input
name="color" type="text" id="color" style="width:300px" /></td>
</tr>
<tr>
<td colspan="7" align="center" valign="middle"
class="smallText"><input type="submit" name="Submit" value="登记" /></
td>
</tr>
</table>
</form>

宋来

unread,
Sep 1, 2008, 8:20:31 PM9/1/08
to am...@googlegroups.com

不好意思,没用过 bindReply 。。。

Yan JiaCheng

unread,
Sep 3, 2008, 2:19:02 AM9/3/08
to am...@googlegroups.com
可以用Buffalo.bind.Bind()替代bingReply。

2008/9/2 宋来 <qson...@gmail.com>

不好意思,没用过 bindReply 。。。






--
Thanks & Best Regards!
Please access my blog:
http://spaces.msn.com/members/acaleph2008

Royel

unread,
Sep 4, 2008, 3:00:55 AM9/4/08
to buffalo与Amowa
谢谢,我试试看

On 9月3日, 下午2时19分, "Yan JiaCheng" <acaleph2...@gmail.com> wrote:
> 可以用Buffalo.bind.Bind()替代bingReply。
>
> 2008/9/2 宋来 <qsong...@gmail.com>

Royel

unread,
Sep 5, 2008, 2:52:40 AM9/5/08
to buffalo与Amowa
我用单独取出返回来的属性值再赋值给textarea的方式解决了:
form1.nodeInfo.value = reply.getResult().nodeInfo;

但感觉不是很完美,不是说可以自动绑定form的吗?为什么textarea不行呢?

Michael Chen

unread,
Sep 5, 2008, 3:40:17 AM9/5/08
to am...@googlegroups.com
多谢,你发现了一个bug!

修复方法:在buffalo.js 1127行附近,加上一行:

case 'textarea': ;

修改之前,附近的代码为:

case "text": ;
case "hidden": ;
case "password": element.value = val; break;

修改之后为:

case "text": ;
case "textarea": ;
case "hidden": ;
case "password": element.value = val; break;

相关的代码已经提交Subversion. 下一次的版本发布会包含这个修复。多谢你发现了这个bug!


2008/9/5 Royel <huhe...@gmail.com>:


> 我用单独取出返回来的属性值再赋值给textarea的方式解决了:
> form1.nodeInfo.value = reply.getResult().nodeInfo;
>
> 但感觉不是很完美,不是说可以自动绑定form的吗?为什么textarea不行呢?
>
>
> >
>

--

Royel

unread,
Sep 11, 2008, 9:35:21 PM9/11/08
to buffalo与Amowa
呵呵,真的吗?
有没有红包呢?
Reply all
Reply to author
Forward
0 new messages