2012-02-06 73 views
1

我试图使用jQuery将一个表单<input>字段值复制到另一个表单。很简单,对吧?好吧,我的代码无法正常工作,所以我一定在做错事。下面是我得到了什么:无法将输入字段值复制到另一个?

HTML:

<form id="form1"> 
    <input id='one' type='text' /> 
    <input id='two' type='text' /> 
</form> 

<form id="form2"> 
    <input id='three' type='text' /> 
</form> 

<input type='button' id="do" value="Copy" /> 

的jQuery:

$('#do').click(function() { 
    $('#3').html($('#1').html().val()); 
}); 

我的总体目标是让3与来自1值,只要它进入填充,我想大概是通过将它绑定到onBlur

我在做什么错?

编辑:更新ID名称,因为我没有使用数字(但意识到你不能/不应该)使用HTML元素的数字。

+1

警告:HTML IDS不应该是数字。 – bfavaretto 2012-02-06 14:19:57

+0

@bfavaretto:*不应该,但他们工作(至少在Firefox中)。但我同意仅使用DOM ID的数字是一个坏主意。 – Crontab 2012-02-06 14:21:46

+0

对不起,我实际上不使用数字我只是用于说明目的(但意识到这是错误的!) – zik 2012-02-06 14:25:52

回答

5

这应该修复它:

$('#do').click(function() { 
    $('#3').val($('#1').val()); 
}); 

不断更新它:

$('#1').keyup(function() { 
    $('#3').val($(this).val()); 
}); 

或者,您可以用模糊来更新,当用户将焦点移到远:

$('#1').blur(function() { 
    $('#3').val($(this).val()); 
}); 

我把这些全部放在jsfiddle上,这样你就可以玩最好的效果。

http://jsfiddle.net/cefpp/5/

+0

然而,感谢这个,它不会把值放入输入框?我在这里有意义吗? – zik 2012-02-06 14:43:54

+0

@Kiz它适合我...你是什么意思? – Jonathan 2012-02-06 14:46:26

+0

@Kiz我更新了小提琴的链接,请现在看看。 – Jonathan 2012-02-06 14:52:23

0
$('#do').click(function(){ 
    $('#3').val($('#1').val()); 
}); 
0
$('#do').click(function() { 
    $('#3').val($('#1').val()); 
}); 
0

据我所知,编号开头的号码是不允许的。尝试为您的input元素使用不同的ID。

您还可以使用Firebug或类似的控制台来检查您的选择器或某些功能是否工作。如果出现问题,控制台也会输出错误信息。

+0

我实际上不使用数字,但我用它来说明目的(不好的例子!),但谢谢 – zik 2012-02-06 14:22:58

0

下面是代码,帮助我

jQuery(".registration_mailingaddress_sep .city input").val(function(i,origText{ 
    return jQuery('.registration_address_sep .city input').val(); 
}); 
相关问题