【问题标题】:Different output when textarea contains line breaktextarea 包含换行符时的不同输出
【发布时间】:2018-02-23 13:45:05
【问题描述】:

我有一个文本区域,用户可以在其中写下他的名字。

<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.');
    }

现在,我的问题是,如果用户输入例如 2 个名称之间有一个换行符,我的输出应该在每个变量之后用 &lt;br&gt; 扩展。

例如:

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

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

【问题讨论】:

    标签: javascript html textarea line-breaks


    【解决方案1】:

    您可以尝试添加\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 添加到所有“text_”变量中

    【讨论】:

      【解决方案2】:

      您可以使用方法 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

      【讨论】:

      • 帮了我很多!谢谢!是的,不用担心,这是故意的:)
      猜你喜欢
      • 2015-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-17
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多