2010-07-01 79 views
0

这将是一个内容丰富的问题​​,因为我不确定处理这个问题的最佳方式。如何使用dojo.query处理动态表()

我有一个页面,其中包含一些dojo内联编辑器,以允许用户更改值,当一个条目已被更改时,保存按钮将出现以提示用户保存信息。

页面有许多行,包含在DIV标记中,与数据库表中的行相关。

<?php if($this->userjobdetails != null) : ?> 

<?php foreach($this->userjobdetails as $employment) :?> 
    <div id="employ_<?php echo $this->escape($employment['historyid']);?>"> 
     <table class="employment-table"> 
      <tr> 
       <td><Strong> 
         <span dojoType="dijit.InlineEditBox" editor="dijit.form.TextBox" onchange="markEmploymentForUpdate();" id="cmpy_<?php echo $this->escape($employment['historyid']);?>"><?php echo $this->escape($employment['employername']);?></span> 
        </Strong> 
       </td> 
       <td align="left"><input dojoType="dijit.form.FilteringSelect" store="rolestore" searchAttr="name" name="role" id="roleInput_<?php echo $this->escape($employment['historyid']); ?>" value="<?php echo $this->escape($employment['jobrole']);?>"></td> 
       <td align="left"> 
        <span dojoType="dijit.InlineEditBox" editor="dijit.form.TextBox" onchange="markEmploymentForUpdate();" id="jtitle_<?php echo $this->escape($employment['historyid']);?>"><?php echo $this->escape($employment['jobtitle']);?></span> 
       </td> 
       <td width="15px;"> 
        <input type="hidden" value="<?php echo $this->escape($employment['historyid']);?>" name="employid" id="employid_<?php echo $this->escape($employment['historyid']);?>"/> 
        <img src="<?php echo $this->baseUrl();?>/images/site/msg/small/msg-remove-small.png" border="0" onmouseover="this.style.cursor='pointer';" onclick="removeEmployer('emply_<?php echo $this->escape($employment['historyid']);?>')"/> 
       </td> 
      </tr> 
     </table> 
    </div> 

<?php endforeach;?> 

当用户“节省”的页面我想,然后使用dojo.xhrPost张贴在页面上的元素数据,从而使数据库行被更新。

我该如何解决这个问题,有多个'行'?

感谢

回答

1

看看dijit.form.Form —第二个例子说明如何验证表单,做当用户提交其任何你喜欢的动作。 AFAIK,dijit.form.Form不关心它有多少个字段,并且动态收集它们。