我有一个包含多个div的隐藏表单的页面。
<form action="...">
<div>
<input id="menubar_open_article_bid" name="bid" onfocus="this.select();" onkeyup="do_v(); type="text">
<a href="#" onclick="return do_h();">
Beitrag öffnen </a>
</div>
<div>
<input id="menubar_open_article_cid" name="cid" onfocus="this.select();" onkeyup="do_a();" type="text">
<a href="#" onclick="return do_y();">
Container öffnen </a>
</div>
<div>
<input id="menubar_open_article_iid" name="iid" onfocus="this.select();" onkeyup="do_b();" type="text">
<a href="#" onclick="return do_x();">
Inhalt öffnen </a>
</div>
</form>
作为第一次尝试,我使用jQuery将其中一个div复制到另一个表单,以便在那里显示(可见)。 这很好用,但现在html元素id有两次。
我不想更改该ID。所以我只能通过id“menubar_open_article_iid
”来显示html元素的div才能解决我的问题。那可能吗? (虽然我从来没有听说过这样的事情)
答案 0 :(得分:2)
据我所知,这是不可能的。
我认为这里的主要问题是你想要一个输入显示两次,但仍然是相同的输入。这将是有问题的,它也是糟糕的界面设计。用户可能会因在表单中有两个独立但不同的输入而感到困惑。
我建议你不要这样做。
答案 1 :(得分:2)
也许你可以利用这种方法:
我使用jQuery和jQuery元数据: http://plugins.jquery.com/project/metadata
在隐藏的表单中,不要指定任何ID。而是通过类元数据:
指定您想要的ID<form class="hide form-to-clone">
<div>
<input class="setId {id:'id1'}" />
</div>
<div>
<input class="setId {id:'id2'}" />
</div>
<div>
<input class="setId {id:'id3'}" />
</div>
</form>
在jQuery中,克隆隐藏的表单:
var clone = $('.form-to-clone').clone();
然后,遍历克隆中的元素并设置id:
clone.find('.setId').each(function() {
var $this = $(this);
$this.attr('id', $this.metadata().id);
});
然后,将克隆的表单附加到页面的某个位置:
clone.show().appendTo('body');