2012-07-17 87 views
0

我有三個單獨的文本框,並希望有一個按鈕將所有框中的內容複製到第4個框中。我怎樣才能做到這一點與JavaScript?Javascript如何將多個文本框複製到一個文本框中

<form> 
<textarea cols="60" rows="5" id="box1">PAST: </textarea> 
<br /><br /> 
<textarea cols="60" rows="5" id="box2">PRESENT: </textarea> 
<br /><br /> 
<textarea cols="60" rows="5" id="box3">FUTURE: </textarea> 

<br /><br /> 
<input name="" type="button" /> 
<br /><br /> 
<textarea cols="60" rows="5" id="box4">All Past Present Future</textarea> 
</form> 
+3

你的腳本在哪裏?你已經嘗試了什麼? – MrOBrian 2012-07-17 20:57:37

+1

你有什麼麻煩?你卡在哪裏? – 2012-07-17 20:58:03

+2

StackOverflow可幫助您解決問題。這不是做你的整個工作/任務。 – Lion 2012-07-17 20:59:37

回答

2

試試這個:

$('button').click(function(){ 
    var text = ""; 
    $('textarea:not(:eq(3))').each(function(){ 
     text += this.value 
    }) 
    $('textarea:eq(3)').val(text)  
}) 

demo

3

你只是提取textarea值 - 並使它們的連接成爲這個'aggregate'textarea的值。這是很容易做到與jQuery,像這樣:

$('#button_id').click(function() { 
    $('#box4').val(
    $('#box1').val() + $('#box2').val() + $('#box3').val() 
); 
}); 
0

的jsfiddle:http://jsfiddle.net/wCPbY/3/

// Runs on document ready 
$(document).ready(function() 
{ 
    // Grabs each text in the textareas based on the id, added spaces in between. 
    var text = $("#box1").text() + " " + $("#box2").text() + " " + $("#box3").text(); 

    // Appends the text to box4. 
    $("#box4").text(text); 
});​ 
0

使用jQuery,您可以創建一個選擇這將捕獲所有必需的元素。你可能想要改變你的HTML以使元素匹配類屬性,這樣選擇器就可以將它們分組在一起。

<textarea cols="60" rows="5" class="textGroup" id="box1">PAST: </textarea> 
<textarea cols="60" rows="5" class="textGroup" id="box2">PRESENT: </textarea> 
<textarea cols="60" rows="5" class="textGroup" id="box3">FUTURE: </textarea> 
<textarea cols="60" rows="5" id="box4">All Past Present Future</textarea> 

用於獲取所有textareas的選擇器將是 - $(".textGroup")
現在我們所要做的就是迭代所有這些數據,收集它們的內容並將其附加到主要的All Past Present Future textarea。

var wholeString = ''; 
$(".textGroup").each(function(index,elem){ 
    wholeString += $(elem).text(); 
}); 

$("#box4").text(wholeSrting); 
0

您不需要加載像jQuery這樣的整個JavaScript庫。試試這個簡單的JavaScript(可伸縮性建!)

var textboxes = document.getElementsByTagName('textarea'), 
    box4 = document.getElementById('box4'), 
    i; 

for (i = 0; i < textboxes.length - 1; i++) { 
    box4.value += textboxes[i].value; 
} 

這裏是你的jsFiddle

相關問題