我有一个搜索框,需要在表单中,以便它可以发布到另一个页面以使搜索功能正常工作。 我最初使用iFrame在Firefox中运行良好,但使用搜索框只会刷新使用Internet Explorer的时间。
我发现如果我只是在当前版本下面创建另一个表单,它工作正常,但这显然会将它留在页面上的错误位置。
我试图使用我在网站上其他地方成功使用的jQuery clone()方法,但这是拒绝工作的。
我环顾四周,找到了另一种使用clone()方法的方法,我在jsfiddle中正常工作,但它在我的网站上无效。
这是我想要填充的div:
<div id="CustomerSearch">
2
</div>
这就是我想要克隆的div:
<form name="frmCustomerList" action="../CustomerList/default.asp" method="post">
<div id="CustomerSearchClone">
1
Customer Search: <br />
<input type="text"id="txtSearch" name="txtSearch" class="Searchbox" />
<input type="submit" value="View" name="txtSearchSubmit" />
</div>
</form>
这是我在外部文件中使用的脚本:
var CustomerSearch = jQuery('#CustomerSearch');
var CustomerSearchClone = jQuery('#CustomerSearchClone');
CustomerSearch.html(CustomerSearchClone.clone(true));
我在JSFiddle工作:http://jsfiddle.net/de9kc/92/
有什么想法吗?
谢谢你们
答案 0 :(得分:0)
我不是.NET的人,但你粘贴的div仍然在表单标签内,所以我不确定这会不会在提交时(或回发,或者其他)引起.NET的打嗝)。
但是,根据您在问题中展示的布局,将克隆的表单元素放在您想要的位置;
我修改了预结果html,如下所示:
//html
<form id="form1" runat="server">
<div id="CustomerSearch">2 Customer Search:</div>
</form>
<form name="frmCustomerList" action="../CustomerList/default.asp" method="post">
<div id="CustomerSearchClone">1 Customer Search:
<br />
<input type="text" id="txtSearch" name="txtSearch" class="Searchbox" />
<input type="submit" value="View" name="txtSearchSubmit" />
</div>
</form>
然后我使用了这个jQuery:
// the vars you already created
var CustomerSearch = jQuery('#CustomerSearch');
var CustomerSearchClone = jQuery('#CustomerSearchClone');
// using .clone(true, true) for deepWithDataAndEvents - not sure if you want this?
// will the .clone(true, true) retain input's link to original form id? I'm uncertain
// using .children() because clone's intended destination already has a div container
CustomerSearchClone.children().clone(true, true).appendTo(CustomerSearch);
// hide clone's source after cloning; no sense in having both search boxes visible
CustomerSearchClone.hide();
注意:使用.clone()具有生成具有重复id属性的元素的副作用,这些属性应该是唯一的。 (按http://api.jquery.com/clone/)
但是您将克隆的元素附加到不同的表单标记中,因此可能不是问题。
我自己只是在学习jQuery,但我想我会给解决方案一个机会; - $
JSFiddle:http://jsfiddle.net/de9kc/190/