在向文本框添加文本后,添加一行新行

3
我正在使用以下代码填充文本框。我想要将文本框设置为多行,并且每次执行代码时,将新的文本追加到新的一行。
是否有办法使用以下代码实现这个功能?
  <script language="javascript" type="text/javascript">
    function getSelected(source, eventArgs) {
        var s = $get("<%=NameTextBox.ClientID %>").value;
        document.getElementById('<%= NPTextBox.ClientID %>').value = s.substring(s.length - 10);
    }
</script>

你试过 .value = s.substring(s.length - 10) & vbcrlf); 吗? - Don Thomas Boyle
它说vbcrlf未定义? - user1342164
1
抱歉,我认为既然它是VB代码,它应该可以工作,我的最后一次尝试是让您尝试像这篇文章中一样使用\n',https://dev59.com/kW025IYBdhLWcg3w25yy.... 希望能有所帮助。所以可能在您的 document.GetElement 之后... 加上 document.write("\n"); - Don Thomas Boyle
我尝试了那个,但它报错了。我在最后一行后面添加了document.write("\n");。 - user1342164
你尝试过使用单引号写入('\n')吗?还有什么错误? - Don Thomas Boyle
也尝试过那个了,但是我收到了一个错误信息:Microsoft JScript 运行时错误:无法获取属性'value'的值:对象为 null 或未定义。 - user1342164
1个回答

4

使用换行符('\n'),像这样:

<script language="javascript" type="text/javascript">
    function getSelected(source, eventArgs) {
        var s = $get("<%=NameTextBox.ClientID %>").value;
        document.getElementById('<%= NPTextBox.ClientID %>').value += s.substring(s.length - 10) + '\n';
    }
</script>

就像他在这里所说的一样,@user1342164 - Don Thomas Boyle
谢谢。当我尝试这样做时,它只是替换了先前的文本,因此第二个结果取代了第一个,而不是只列出两个项目。 - user1342164
1
你需要将s.substring(s.length - 10) + '\n';的结果追加到末尾,参见更新的答案。 - Karl Anderson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接