textarea包含换行符时的输出不同

时间:2018-02-23 13:45:06

标签: javascript html textarea line-breaks

我有一个textarea,用户可以在那里写下他的名字。

<h2><textarea name="txt_company" rows="5" id="company_text"></textarea><textarea name="txt_visitor" rows="5" id="visitor_text">
</textarea><textarea name="text_rp" rows="5" id="rp_text">
</textarea></h2>

按下按钮时

<input type="submit" class="wmfg_btn" name="submit_form" id="submit_form_btn" value="Code generieren..." onclick="generatecode();" />

输入名称的输出将显示为警告:

function generatecode() {
        var text_company = document.getElementById("text_company").value;
        var text_visitor = document.getElementById("text_visitor").value;
        var text_rp = document.getElementById("text_rp").value;
        alert('Blablabla' + text_company + 'blablabla' + text_visitor + 'blablabla' + text_rp + 'blabla.');
    }

现在,我的问题是,如果用户输入两个名称之间有换行符的名称,我的输出应该在每个变量之后用<br>扩展。

例如:

alert('Blablabla' + text_company + '**ADDITION**blablabla' + text_visitor + 'blablabla' + text_rp + 'blabla.')

但我现在卡住了,我找不到一个好的解决方案...... 我愿意接受任何建议!

2 个答案:

答案 0 :(得分:0)

您可以尝试添加\n作为条目的换行符。

function generatecode() {
    var text_company = document.getElementById("text_company").value + " \n"; // added line break
    var text_visitor = document.getElementById("text_visitor").value + " \n"; // added line break
    var text_rp = document.getElementById("text_rp").value + " \n"; // added line break
    alert('Blablabla' + text_company + 'blablabla' + text_visitor + 'blablabla' + text_rp + 'blabla.');
}

编辑:将\n添加到所有&#34;文字_&#39;变量

答案 1 :(得分:0)

您可以使用indexOf方法检测textarea的值是否包含“\ n”,并根据结果(如果没有换行符,则为-1),您可以在textarea的值中添加或不添加换行符。

<textarea name="test" rows="5" id="test"></textarea>
<input type="button" onclick="alertValue()" />
<script>
    function alertValue(){
        var test = document.getElementById("test").value;
        if(test.indexOf("\n") != -1){
            test += "\n";
        }
    }
</script>

此外,请注意您的textearea ID:text_company!= company_text