loyalbluer 2008-08-08 18:27
浏览 623
已采纳

Form表单数据自动填充的问题

应用很简单明了,就是将一个需要修改的员工信息传递到一个页面然后自动把已存在的数据填写到合适的位置,然后供人修改

问题:后台数据可以得到,可是无法将数据绑定到指定控件上

代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


MyExtFullForm.html



<!---->
<!-- Ext显示必须链接,前后顺序不能颠倒 -->
type="text/css">



<!-- End -->
<br> Ext.onReady(function(){ </p> <p>var reader = new Ext.data.JsonReader({<br> successProperty : &#39;success&#39;,<br> root : &#39;data&#39;<br> }, [{<br> name : &#39;name&#39;,<br> type : &#39;String&#39;,<br> mapping : &#39;name&#39;<br> }, {<br> name : &#39;address&#39;,<br> type : &#39;String&#39;,<br> mapping : &#39;address&#39;<br> }, {<br> name : &#39;loves&#39;,<br> type : &#39;int&#39;,<br> mapping : &#39;loves&#39;<br> }, {<br> name : &#39;memo&#39;,<br> type : &#39;String&#39;,<br> mapping : &#39;memo&#39;<br> }]);</p> <p>var form = new Ext.form.FormPanel({<br> labelAlign:&#39;right&#39;,<br> labelWidth:60,<br> title:&#39;我的表单&#39;,<br> frame:true,<br> width:650,<br> url:&#39;form.jsp&#39;,</p> <pre><code>items:[{ layout:&#39;column&#39;, items:[{ columnWidth:.5, layout:&#39;form&#39;, defaultType:&#39;textfield&#39;, xtype:&#39;fieldset&#39;, title:&#39;姓名&#39;, autoHeight:true, items:[{ fieldLabel: &#39;姓名&#39;, name:&#39;name&#39;, value:reader.get(&#39;name&#39;) },{ fieldLabel: &#39;地址&#39;, name:&#39;address&#39;, value:reader.get(&#39;address&#39;) }] },{ columnWidth:.5, layout:&#39;form&#39;, defaultType:&#39;checkbox&#39;, xtype:&#39;fieldset&#39;, title:&#39;住址&#39;, style:&#39;margin-left:20px;&#39;, autoHeight:true, items:[{ fieldLabel: &#39;足球&#39;, inputValue:&#39;1&#39;, name:&#39;loves&#39; },{ fieldLabel: &#39;DIY&#39;, inputValue:&#39;2&#39;, name:&#39;loves&#39; },{ fieldLabel: &#39;睡觉&#39;, inputValue:&#39;3&#39;, name:&#39;loves&#39; },{ xtype:&#39;panel&#39;,html:&#39;&lt;center&gt;&lt;img src=&quot;icon-info.gif&quot;/&gt;&lt;/center&gt;&#39; }] }] },{ xtype:&#39;fieldset&#39;, title:&#39;个人介绍&#39;, autoHeight:true, items:[{ width:545, xtype:&#39;textarea&#39;, name:&#39;memo&#39;, fieldLabel:&#39;个人介绍&#39; }] </code></pre> <p>}],<br> buttons:[{<br> text:&#39;提交&#39;,<br> handler:function(){<br> form.getForm().submit();<br> }<br> },{<br> text:&#39;读取&#39;,<br> handler:function(){<br> form.getForm().load({url:&#39;Ds/Form.txt&#39;});<br> Ext.MessageBox.alert(&#39;Msg&#39;,reader)<br> }<br> }]<br> }); </p> <p>form.render(&quot;form&quot;);<br> })<br>



我的后台Form.txt内容为

{success:true,data:[{
name:'Rooney',
address:'Mu',
loves:2,
memo:'Tank'
}]}

请大家帮我看看

还有两个问题,1.多选框如果取到选中值

2.表单提交的时候可不可以先把所有控件的值封装成json格式的数组然后传走呢?
Form表单数据自动填充

  • 写回答

2条回答 默认 最新

  • zhang26chao 2008-08-11 12:29
    关注

    这样写吧
    [code="java"]
    this.form.on('render', function() {
    this.form.load({
    url : '***'
    params : {
    id : this.recordId
    }
    });
    }, this);
    [/code]
    在render时去取数据,返回的格式还是一样.
    1.多选框request.getParameterValues('**');取
    2.提交表单到后台用request.getParameter('**');去取,如果想用json,只有在前台先取出表单值,再拼成json格式用ajax传到后台,但不好,不如直接提交表单

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思