Javascript JQuery-实时复制字段输入文本
我试图弄清楚如何将用户在一个表单字段中输入的文本复制到另一个表单字段。具体来说,当某人在联系人表单中填写其电子邮件地址时,它将在邮件列表表单中重复 这两种表单都使用ajax,因此在提交时不必担心输入文本丢失 这是我的代码:Javascript JQuery-实时复制字段输入文本,javascript,jquery,html,Javascript,Jquery,Html,我试图弄清楚如何将用户在一个表单字段中输入的文本复制到另一个表单字段。具体来说,当某人在联系人表单中填写其电子邮件地址时,它将在邮件列表表单中重复 这两种表单都使用ajax,因此在提交时不必担心输入文本丢失 这是我的代码: <div id="contact_form"> <form name="contact" method="post" action=""> <input type="text" name="n
<div id="contact_form">
<form name="contact" method="post" action="">
<input type="text" name="name" id="name" size="30" value="Name" class="text-input" />
<label class="error" for="name" id="name_error">Please enter your name.</label>
<br />
<input type="text" name="email" id="email" size="30" value="Email" class="text-input" />
<label class="error" for="email" id="email_error">I need your email.</label>
<br />
<textarea rows="10" cols="30" type="textarea" name="message" id="message" value="Message" class="text-input" ></textarea>
<label class="error" for="message" id="message_error">A message is required.</label>
<br />
<input type="submit" name="submit" class="button" id="submit" value="Send" />
</form>
</div>
<div id="details">
<p>some details here, not sure what yet</p>
</div>
<div id="mail_list">
<input type="text" id="mail" value="Your email" name="mail_list" /><input type="submit" name="submit" class="button" id="submit" value="Send" />
</div>
谢谢 你可以简单地做到这一点
$('#mail').text($('#email').val())
$(“#邮件”)是另一个输入框吗?它不会出现在您的HTML中(编辑:它现在出现了,但一开始没有出现:)
$(“#mail”).val($(“#email”).val())
应该做你想做的事。因为你所有的字段都有唯一的ID,这很简单:
$(function() { // <== Doc Ready
$("#email").change(function() { // When the email is changed
$('#mail').val(this.value); // copy it over to the mail
});
});
$(function(){/您说过需要实时输入。我假设这意味着当用户键入时,应该为每次击键复制该值
如果正确,请尝试以下方法:
var mail = document.getElementById("mail");
$("#email").keyup(function() {
mail.value = this.value;
});
或者,如果您想要更多jQuery:
var $mail = $("#mail");
$("#email").keyup(function() {
$mail.val( this.value );
});
这将针对每个keyup
事件进行更新
我可能会添加一个冗余的blur
事件,以防字段中出现自动完成
$("#email").blur(function() {
$mail.val( this.value );
});
使用keyup并同时更改两者
$("#boxx").on('keypress change', function(event) {
var data=$(this).val();
$("div").text(data);
});
这是一个例子
您可以简单地执行此操作。$(“#mail”).val($(“#email”))请提供指向.optionCopyTo()
jQuery方法的链接。我在[jQuery文档]中找不到它()----哦,你一定是在引用这个插件--它不是jQuery核心的一部分,必须单独添加。您好,是的,这就是我所指的页面。谢谢您的回答,不过我在让任何一个插件正常工作方面都有点困难。您能看一下吗?这里为需要它的人提供了一个工作示例:@logic unit、 您正试图在`$('#mail')处为函数赋值。val()=this.value;.jQuery的[
.val()](http://api.jquery.com/val/)是一个setter和getter函数,这意味着您可以将所需的值作为第一个参数传递给它。请尝试
$('#mail').val($('#email').val()')`。(另外,我认为您不需要用$()来包装整个内容,因为JSFIDLE已经做到了:)很抱歉,你可以这样做。val在目标上,又在源代码上。是的,我在那里做了一次偷偷的编辑,当我看到粘贴代码造成的混乱时…:-/啊,是的,差不多了,但我希望文本在他们键入时显示出来,因此我戏剧性地使用了术语“实时”。有点像矩阵效果,但有文本输入(笑话)。标题注释:实时复制字段输入文本-这不是它,对不起,我使用的是这种类型的代码。但它适用于单个id。需要创建优化函数。这适用于每个字段。@ChaitanyaDesai您可以通过使用类或直接标记名来实现。以下是示例
$("#boxx").on('keypress change', function(event) {
var data=$(this).val();
$("div").text(data);
});