2013-04-29 27 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

相关问题