2013-04-29 71 views
0

到目前爲止,我還沒有能夠改變輸入框的值。 我想要它做什麼? 我希望它從第一個框中獲取文本。當你點擊按鈕將其分開並將它們追加到第二個和第三個框。將空格分隔爲2個空格Javascript only no libraries

我不想純粹使用jQuery或任何庫javascript。

有任何問題要求提出。

不知道我在這裏做錯了什麼。似乎它應該工作。任何幫助?由於 編輯這是我所需要的工作....不知道,如果它的最好的方式,但它確實工作 代碼

<HTML> 
    <HEAD> 
    <SCRIPT LANGUAGE="JavaScript"> 
     var urls_1; 
     var split_text; 
    function addto_boxes(form) { 
      var split_text = document.getElementById("text_to_split").value; 
      var urls_1 = split_text.split(" ", 100000); 
      document.getElementById("input_box1").value = document.getElementById("input_box1").value + urls_1[0] + " "; 
      document.getElementById("input_box2").value = document.getElementById("input_box2").value + urls_1[1] + " "; 
    } 


    </SCRIPT> 
    </HEAD> 
    <BODY> 
    <input id="Split" type="button" value="Add to boxes" onclick="addto_boxes(this.form);"/><Br> 
    <textarea NAME="texttosplit" id="text_to_split" VALUE="" rows="4" cols="75"></textarea><Br> 


    <FORM NAME="myform" ACTION="" METHOD="GET">Put 1st urls in this box: 
    <textarea NAME="inputbox" id="input_box1" VALUE=""rows="4" cols="75"></textarea><Br> 
    Put 2nd urls in this box: <Br> 
    <textarea NAME="inputbox2" id="input_box2" VALUE=""rows="4" cols="75"></textarea><Br> 
    <INPUT TYPE="reset"> 
    </FORM> 
    </BODY> 
    </HTML> 
+0

這是正確的,它確實將文本添加到框中。已發佈的答案。但是,如何在點擊按鈕時再次添加它們或添加新文本?不會使已經包含在文本中的文字變得過度。 – 2013-04-29 22:21:25

+0

阿哈,除原來的問題。添加他們如何,輸出格式應該是什麼樣子?逗號分隔? – Xotic750 2013-04-29 22:24:36

+0

用+「」空格分隔。認爲這是明確的? :) – 2013-04-29 22:35:32

回答

0

這應該工作,你

HTML

<input id="Split" type="button" value="Add to boxes" /> 
<Br> 
<textarea NAME="texttosplit" id="text_to_split" VALUE="" rows="4" cols="75"></textarea> 
<Br> 
<FORM NAME="myform" ACTION="" METHOD="GET">Put 1st urls in this box: 
    <textarea NAME="inputbox" id="input_box1" VALUE="" rows="4" cols="75"></textarea> 
    <Br>Put 2nd urls in this box: 
    <Br> 
    <textarea NAME="inputbox2" id="input_box2" VALUE="" rows="4" cols="75"></textarea> 
    <Br> 
    <INPUT id="reset" TYPE="reset"> 
</FORM> 

Javascript

var aBox1 = []; 
var aBox2 = []; 

document.getElementById("Split").addEventListener("click", function() { 
    var urls_1 = document.getElementById("text_to_split").value.trim().split(" "), 
     url1 = urls_1[0] || "", 
     url2 = urls_1[1] || ""; 

    if (url1.length) { 
     aBox1.push(url1); 
    } 

    if (url2.length) { 
     aBox2.push(url2); 
    } 

    document.getElementById("input_box1").value = aBox1.join(" "); 
    document.getElementById("input_box2").value = aBox2.join(" "); 
}, false); 

document.getElementById("reset").addEventListener("click", function() { 
    aBox1.length = 0; 
    aBox2.length = 0; 
}, false); 

jsfiddle

+0

我想出它... document.getElementById(「input_box1」)。value = document.getElementById(「input_box1」)。value + urls_1 [0] +「」;努力爲我需要它。 – 2013-04-29 22:26:14

+0

它也不會將數據附加到框中。如原文所述。我需要箱中已有的值保留在那裏,並將文本添加到最後。我編輯我的問題與我發現的工作解決方案。 – 2013-04-29 22:34:55

+0

你走了,更新了。 – Xotic750 2013-04-29 22:43:07