我要求将所有字段从一个表单复制到另一个表单.因此,我不是逐字段地复制,而是使用jQuery编写了一个例程form2form.
function form2form(aF1,aF2) {
var selection = "#" + aF1 + " .copy";
$(selection).each(function() {
document.forms[aF2].elements[$(this).attr('name')].value = $(this).val();
});
}
日常工作.例程要求在输入表单字段中有一类副本,否则我不知道如何获取表单中的所有字段. (“#form:input”)跳过单选按钮并选择字段.
所以我的问题是.
是否有内置功能,所以我不需要这个?@H_404_14@有没有更好的方法来编写选择?@H_404_14@如何修改例程而不需要该类.@H_404_14@我可以传递表单对象而不是表单名称作为文本吗?@H_404_14@一般来说有更好的方法吗?
这是一个有效的完整页面:
Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
最佳答案
>是否有内置功能,所以我不需要这个?
原文链接:https://www.f2er.com/jquery/428297.html并不是的.有clone()
,但更多的是将元素复制到DOM中的另一个位置.您需要填充第二个表单.
>我可以传递表单对象而不是表单名称作为文本吗?
是:
function form2form(formA,formB) {
$(':input[name]',formA).each(function() {
$('[name=' + $(this).attr('name') +']',formB).val($(this).val())
})
}
你也可以把它变成一个插件!
(function($) {
$.fn.copyNamedTo = function(other) {
return this.each(function() {
$(':input[name]',this).each(function() {
$('[name=' + $(this).attr('name') +']',other).val($(this).val())
})
})
}
}(jQuery))
ps“:input”伪选择器不跳过无线电或选择输入.它明确地包括选择和输入元素(至少在1.3.2中),其中单选按钮是其中的一部分.