0

If I run the function below it returns something like this: 1,2,3,4 - which is as expected, but how can I return a single column to a textarea field like this?

1
2
3
4

.

function ReturnSingleColumnFromArray()
{   
    var randomNumberArray = [];
    var inputArrayLength = parseInt(document.getElementById("txtMultiples").value);
    var outputTextArea = document.getElementById("textarea");       
    var i = 0;  

    if (howMany < 101 && howMany > 0) {
        while (i < howMany) {
            randomNumberArray[i] = FunctionToReturnRandomNumber();  
            i++;
        }
        outputTextArea.innerHTML = randomNumberArray;
    } else {
        outputTextArea.innerHTML = "";
        alert("Value must be between 1 and 100");
    }       
}
ADreNaLiNe-DJ
  • 4,787
  • 3
  • 26
  • 35
stonypaul
  • 667
  • 1
  • 8
  • 20
  • Not sure if I have understand the question, but it seems to me, that you want a line break between the elements? If this is correct, you only have to replace the ',' in your outputTextArea.InnerHTML with '
    ' html line breaks. You can do this easily with outputTextArea.innerHTML.replace(/,/g,'
    ') With this line of code you will get the expected result.
    – Helmut Jun 02 '16 at 10:46

1 Answers1

1
<script>
    function ReturnSingleColumnFromArray() {
        var randomNumberArray = [];
        var howMany = parseInt(document.getElementById("txtMultiples").value);
        var outputTextArea = document.getElementById("textarea");
        var i = 0;

        if (howMany < 101 && howMany > 0) {
            while (i < howMany) {
                randomNumberArray[i] = FunctionToReturnRandomNumber();
                i++;
            }
            outputTextArea.innerHTML = randomNumberArray.join('\n');
        }
        else {
            outputTextArea.innerHTML = "";
            alert("Value must be between 1 and 100");
        }
    }

    function FunctionToReturnRandomNumber() {
        return Math.round(Math.random() * 100, 0);
    }

</script>
Moumit
  • 8,314
  • 9
  • 55
  • 59