如何使用dojo.query()处理动态表

时间:2010-07-01 20:46:01

标签: php ajax dojo

这将是一个多肉的问题,因为我不确定处理这个问题的最佳方法。

我有一个包含多个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 个答案:

答案 0 :(得分:1)

查看dijit.form.Form - 第二个示例显示了如何验证表单并在用户提交表单时执行您喜欢的任何操作。 AFAIK,dijit.form.Form不关心它有多少个字段,并动态收集它们。