2014-09-03 40 views
-2

我有一个表格,其中包含四个textboxes和一个textarea字段。如何将四个文本框的值复制到HTML中的textarea中?

形式类似于请求表单。我希望将content的四个textboxes复制到textarea

为此我写了onkeyup事件,它同时将其值复制到textarea,但我希望所有四个文本框值都被复制到文本区域。

这是我写的onkeyup事件

<input type="text" id="C.name" name="C.name" required onkeyup="document.getElementById('message').value=this.value"> 

而且还我附上我的格式的图片为更好的主意代码,在这里的照片,你可以看到enter image description here一个文本框的值被复制到textarea。

我应该怎么做,使所有的文本框的值被复制到textarea的

+0

如果您实际上在jsfiddle中为我们提供了一个实际的示例,以查看您的实施中实际出现了什么问题,我们可以更容易地为您提供帮助。 我们很乐意提供帮助,但下次请向我们提供一些你自己的准备,所以我们不会被困在工作中。 – 2014-09-03 11:42:33

回答

0

创建一个函数,并从onkeyup属性调用它。你的函数可能看起来像:

function fillMessage() { 
    var nam = document.getElementById('name'); 
    var com = document.getElementById('company'); 
    var ema = document.getElementById('email'); 
    var pho = document.getElementById('phone'); 
    var msg = document.getElementById('message'); 
    msg.value = nam.value + com.value + ema.value + pho.value; 
} 

而且每个表单域将有属性onkeyup="fillMessage()"。这是一个live demo

0

你需要Concat的输入值和键起事件绑定到所有的投入,沿着这个例子东西线:

var aggregateInput = function() 
{ 
    var value = jQuery('input[name="name"]').val() + 
     jQuery('input[name="company"]').val() + 
     jQuery('input[name="email"]').val() + 
     jQuery('input[name="number"]').val(); 

    jQuery('textarea[name="aggregated"]').val(value); 
} 

jQuery('input[type="text"]').on('keyup', aggregateInput); 

的jsfiddle:http://jsfiddle.net/v9fe2532/1/

更新:

你从来没有表明你在项目中使用jQuery,我也创建了非jQuery版本。使用绑定在所有输入的输入的onkeyup属性使用的onkeyup = “aggregateInput()” 的下列功能:

function aggregateInput() 
{ 
    var value = document.getElementById('nameInput').value 
     + document.getElementById('companyInput').value 
     + document.getElementById('emailInput').value 
     + document.getElementById('numberInput').value; 

    document.getElementById('aggregated').value = value; 
} 

的jsfiddle:http://jsfiddle.net/v9fe2532/4/

+1

华丽的jQuery解决方案。我喜欢你如何将onkeyup应用于所有输入。 你的非jQuery解决方案似乎不必要的复杂。为什么通过所有输入标签循环,当你可以通过id抓住你想要的四个? – 2014-09-03 12:04:37

+0

我不是一个在我的元素中使用太多不必要的ID属性的巨大粉丝,可能是因为它是如此沉重的CSS选择器。当你把脚本简化到简单时,你是对的,我相应地更新了我的小提琴和示例。 – 2014-09-03 12:12:16