表单输入上的名称重复

时间:2013-06-18 08:18:08

标签: javascript forms input duplicates

我有一个包含表单输入的div:

<div class="guides_chapters_container" id="cdefault" style="">
                <div class="guides_chapters_ctitle">
                <input class="guides_chapters_input" name="gtitle" type="text" value="">
                    <div class="guides_chapters_upguide" onclick="javascript: guide_cmoveup(event);"></div>
                    <div class="guides_chapters_downguide" onclick="javascript: guide_cmovedown(event);"></div>
                    <div class="guides_chapters_deleteguide" onclick="javascript: guide_cdelete(event);"></div>
                </div>
                <div class="guides_chapters_bar">
                    <center>
                    <div class="guides_chapters_button" style="font-weight:bold;" onclick="surround('[b]', '[/b]');">B</div>
                    <div class="guides_chapters_button" style="font-style:italic;" onclick="surround('[i]', '[/i]');">i</div>
                    <div class="guides_chapters_button" style="text-decoration: underline;" onclick="surround('[u]', '[/u]');">u</div>
                    <div class="guides_chapters_button" onclick="surround('[title]', '[/title]');">Título</div>
                    <div class="guides_chapters_button" onclick="surround('[center]', '[/center]');">Centrar</div>
                    <div class="guides_chapters_button" onclick="showdiv('guideimages'); ">Image</div>
                    <div class="guides_chapters_button" onclick="javascript: guide_bimages(event);">Big Image</div>
                    <div class="clear"></div>
                    </center>
                </div>
                <textarea class="guides_chapters_textarea" id="textarea" name="gmessage" rows="7" cols="25"></textarea>
            </div>
          </div>

并使用它来复制这个div:

function add() {
    var item = $('#cdefault').clone();
    item.attr({'style': ''});
    $('#ccontainer').append(item);
}

一切正常,但我的问题是,现在输入(gtitle和gmessage)共享相同的名称,并且不会正确发布。克隆后有没有办法添加这个名字?或者什么来解决这个问题?

1 个答案:

答案 0 :(得分:0)

基本上原始元素和克隆元素具有相同的名称。尝试更改克隆的元素名称。

function add() {
   var item = $('#cdefault').clone();
   item.attr({'style': ''});
   $('#ccontainer').append(item);
   $('#ccontainer input[name="gtitle"]').attr('name', 'gtitle');
   $('#ccontainer textarea[name="gmessage"]').attr('name', 'gmessage');
}

希望这就是你要找的东西

每次调用函数时都会增加

var x=1;
function add() {
   var item = $('#cdefault').clone();
   item.attr({'style': ''});
   $('#ccontainer').append(item);
   $('#ccontainer input[name="gtitle"]').attr('name', 'gtitle'+x);
   $('#ccontainer textarea[name="gmessage"]').attr('name', 'gmessage'+x);
   x+=1;
}