Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript更改文本区域中的布局打印?_Javascript_Arrays_Layout_Textarea - Fatal编程技术网

如何使用javascript更改文本区域中的布局打印?

如何使用javascript更改文本区域中的布局打印?,javascript,arrays,layout,textarea,Javascript,Arrays,Layout,Textarea,大家好,在我的代码中,我创建了一个带有随机数的数组。 我在文本区域打印此数组,并精确显示如下: 5,52,5,4,8,4,3,4,8,6,1,4,58,3,4,8,3,1,8 现在我要确保更改文本区域中数字的打印。我希望从垂直方向看到它们,特别是: 5 52 5 4 8 4 3 4 8 6 1 4 58 3 4 8 3 1 8 当用户选择单选按钮时,必须更改布局 事实上,我有: radio buttons horizontally radio but

大家好,在我的代码中,我创建了一个带有随机数的数组。 我在文本区域打印此数组,并精确显示如下:

5,52,5,4,8,4,3,4,8,6,1,4,58,3,4,8,3,1,8 
现在我要确保更改文本区域中数字的打印。我希望从垂直方向看到它们,特别是:

5 
52 
5 
4 
8 
4 
3 
4 
8 
6 
1 
4 
58 
3 
4 
8 
3 
1 
8 
当用户选择单选按钮时,必须更改布局 事实上,我有:

radio buttons horizontally 
radio buttons vertically
谁知道启发我?

编辑: 使用非jquery重写。允许在文本字段中输入一些基本文本

JSFiddle:

<input id="radio1" type="radio" name="hv" value="horizontal" checked/>Horizontal
<br/><input id="radio2" type="radio" name="hv" value="vertical"/>Veritical   
<br/>
<textarea id="text">Some text, random stuff.

Other text.

</textarea>
function toggleNumbers(){
    if(this.value == 'horizontal'){
        document.getElementById('text').value = document.getElementById('text').value.replace(/(\d)\n?/g,"$1,").replace(/(\d),(\D)/g,"$1 $2").replace(/(\d),$/g,"$1");  
    } else {
        document.getElementById('text').value = document.getElementById('text').value.replace(/(\d),?/g,"$1\n");                   
    }
}

document.getElementById('radio1').addEventListener('click',toggleNumbers);
document.getElementById('radio2').addEventListener('click',toggleNumbers);     

var arr = [1,2,3,4,5,6,7,8];
document.getElementById('text').value = document.getElementById('text').value + arr.join(",");

HTML:

<input id="radio1" type="radio" name="hv" value="horizontal" checked/>Horizontal
<br/><input id="radio2" type="radio" name="hv" value="vertical"/>Veritical   
<br/>
<textarea id="text">Some text, random stuff.

Other text.

</textarea>
function toggleNumbers(){
    if(this.value == 'horizontal'){
        document.getElementById('text').value = document.getElementById('text').value.replace(/(\d)\n?/g,"$1,").replace(/(\d),(\D)/g,"$1 $2").replace(/(\d),$/g,"$1");  
    } else {
        document.getElementById('text').value = document.getElementById('text').value.replace(/(\d),?/g,"$1\n");                   
    }
}

document.getElementById('radio1').addEventListener('click',toggleNumbers);
document.getElementById('radio2').addEventListener('click',toggleNumbers);     

var arr = [1,2,3,4,5,6,7,8];
document.getElementById('text').value = document.getElementById('text').value + arr.join(",");
CSS

textarea {
    height:200px;
    width:300px;
}
HTML

<textarea id="ta">5,52,5,4,8,4,3,4,8,6,1,4,58,3,4,8,3,1,8</textarea>
<input type="radio" name="orientation" value="vertical"/> Vertical
<input type="radio" name="orientation" value="horizontal"/> Horizontal
5,52,5,4,8,4,3,4,8,6,1,4,58,3,4,8,3,1,8
垂直的
水平的
Javascript

var numbers = document.getElementById("ta").value.split(",");
var inputs = document.getElementsByTagName("input");
for(var i = 0; i < inputs.length; i++){
  inputs[i].onclick=function(){
      document.getElementById("ta").value = (this.value == "vertical") ? numbers.join("\n"):numbers.join(","); 
  }            
}
var numbers=document.getElementById(“ta”).value.split(“,”);
var inputs=document.getElementsByTagName(“输入”);
对于(变量i=0;i

JS Fiddle:

您是否编写了任何代码来尝试实现这一点,或者您只是希望我们为您完成您的工作?我没有使用JQuery。我将kevin的代码改为:[code]var numbers=document.getElementById(“Textarea”).innerHTML.split(“,”);var inputs=document.getElementsByTagName(“输入”);对于(var i=0;i