簡體   English   中英

我如何從textarea獲取價值並垂直打印?

[英]How can i get value from textarea and print it vertically?

例如,這是我在第一個文本區域中的數組:

$names=array('Abcd','Efgh','Jklm');

現在,這是我的腳本:

function myFunction() {
    var stringArray = document.getElementById('edno').value.split('\n');
    document.getElementById("dve").innerHTML = stringArray;
}

我的HTML:

<body>
<div id="first">
    <textarea id="edno"></textarea>
    <p>Click the button</p>

    <button type="button" onclick="myFunction()"></button>

    <p id="demo"></p>
</div>
<div id="second">
    <textarea id="dve">

    </textarea>
 <script type="text/javascript">Here is my Script<script>
</div>

</body>

我想打印的價值,通過splited ,成炭,焦炭,垂直。 輸入為abcd,efgh,jklm時所需結果的abcd,efgh,jklm 在此處輸入圖片說明

如果您只想將文本從第一個文本區域復制到第二個文本區域,則可以像下面這樣簡單地進行操作:

 function myFunction() { var valueOfFirstTextarea = document.getElementById('edno').value; document.getElementById("dve").innerHTML = valueOfFirstTextarea; } 
 <div id="first"> <textarea id="edno"></textarea> <p>Click the button</p> <button type="button" onclick="myFunction()">Click Me</button> </div> <div id="second"> <textarea id="dve"></textarea> </div> 

您可以獲取該值,將其逐個字符分割,然后在輸入元素中使用換行符\\n進行打印,或者在要使用另一種元素時使用<br>進行打印。

下面的代碼顯示了這一點。

 function myFunction() { let stringArray = document.getElementById('edno').value.split(""); let txtResult = document.getElementById("dve"); txtResult.value = ""; for (var char of stringArray){ var character = char + "\\n"; txtResult.value += character; } } 
 #dve{ height: 190px; } 
 <div id="first"> <textarea id="edno"></textarea> <button type="button" onclick="myFunction()">Click Me!</button> <p id="demo"></p> </div> <div id="second"> <textarea id="dve"></textarea> </div> 

編輯
為了幫助您解決您的評論,這里有一個可能的解決方案:這要困難得多,因為您需要以完全不同的方式遍歷字符循環。

為了避免出現不同的行/列大小問題,我需要獲得最長的字長,如您在var中的代碼中所biggerLength

請查看代碼,如果您對迭代有任何疑問,請在評論中發布。

 function myFunction() { let txtResult = document.getElementById("dve"); let str = document.getElementById('edno').value; let strArray = []; txtResult.value = ""; if (str.indexOf(",") > -1){ strArray = str.split(","); let sortedStrArray = [...strArray].sort((a,b) => a.length < b.length); //copy the original array to not mess with it, then sort bigger to smallest length let biggerLength = sortedStrArray[0].length; for (var i = 0; i < biggerLength; i++){ let columnStr = ""; for (var j = 0; j < strArray.length; j++){ let chars = strArray[j]; let char = chars[i]; if (char != null){ columnStr += char; }else{ columnStr += " "; } } txtResult.value += columnStr + "\\n"; } } else { strArray = str.split(""); for (var char of strArray){ txtResult.value += char + "\\n"; } } } 
 #dve{ height: 200px; width: 230px; } 
 <div id="first"> <textarea id="edno" >abcd,efgh,jklm</textarea> <button type="button" onclick="myFunction()">Click Me!</button> <p id="demo"></p> </div> <div id="second"> <textarea id="dve"></textarea> </div> 

如果要垂直打印值,請按空格分割所有值,並用<br>附加,然后將其附加到

elements = ['Abcd','Efgh','Jklm']; document.getElementById("dve").innerHTML = elements.join('</br>')

這將在dev元素的innerHTML中垂直打印所有元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM