1

我正在尝试为我自己的 CMS 构建一个自定义表单的系统,现在这在大多数情况下都有效,我有一个“标准”文本用于表单,我有 Textarea,输入文本,这些都可以工作,

我正在使用 jQueryUI 可排序以允许用户从左侧的工具提示拖动到右侧疼痛,当元素被删除时,它会将其返回到工具提示,然后复制模板元素这一切现在都可以完美地工作以获取订单发送到我使用了替换名称系统的服务器,

例如

下拉模板使用的,

<div id="dropdown" class="item">
    <div class="title">Dropdown Field</div>
    <div class="container">
        <div class="error" style="display:none;">There are error in this element</div>
         <input class="type" type="hidden" name="items[%itemid%][type]" value="group" />
         Label : <br />
         <input type="text" class="label" name="items[%itemid%][label]" value="<?php echo $this->currentItem["label"]; ?>" /><br />
         Options :<br />
         <textarea name="items[%itemid%][options]" class="text_area"><?php echo $this->currentItem["options"]; ?></textarea>
         <div class="delete">
            <img src="<?php $this->getImagePath() ?>/delete.png" title="delete item" alt="a Rex X" />
            <span class="comment">Delete this Item</span>
        </div>
    </div>
</div>

就在提交表单之前,我有一些 jQuery 代码将名称替换为有序表单,这里是代码,

function buildOrder(){
    window.count = 0;
    $(".rightPain > div.item").each(function(){
        window.count++;
        var currentItem = $(this);
        $("input, select, textarea", $(currentItem)).each(function() {
            $(this).attr('name', $(this).attr('name').replace('%itmid%', window.count));
        });
    });
    delete window.count;
}

现在正如我所说,上面的代码适用于“std”文本、文本字段、文件字段、文本区域、密码和提交/重置按钮,

这只是下拉菜单,并且组选择不起作用,更奇怪的是window.count会增加,所以如果我放一个

下拉到表单中,分组到表单中,Std Text 到表单中,

在标准文本上%itemid%更改为3,但下拉列表和组仍然说%itemid%我觉得奇怪的是,使用.replace(//,window.count)通常应该导致%itemid%更改为或,undefined但这并没有发生,真正奇怪的是我console.log($(this))在 buildOrder中添加了一个functions .each 选择,它正在选择它只是没有替换名称的元素

4

1 回答 1

1
$(this).attr('name', $(this).attr('name').replace('%itmid%', window.count));

应该是 %itemid% 而不是 %itmid% 我假设

于 2012-04-12T14:42:43.700 回答