我已经实现了一个代码,它的工作方式如下:
单击enter,它将生成<br />标记。我希望它应该生成我想要的<br />,每当用户点击enter它就应该生成<br />标签,但同时它不应该是visible.Please查找代码供您参考:-
<script type="text/javascript">
function EnterEventDesc(e) {
if (e.keyCode == 13) {
var input = $("#ctl00_ContentPlaceHolder1_txtJobDesc");
input.val(input.val() + "<br/>");
return false;
} else {
return true;
}
}
</script> <br />标签即将到来,但我想同时隐藏它。请帮帮忙
发布于 2014-08-20 00:05:47
您似乎正在使用ASP.Net,并且您正在尝试将输入的NewLines转换为<br />标记,以便在其他地方使用,如保存在数据库中。如果你真的用错了方法,让用户使用Enter键在文本区域中创建新行,完全删除js代码,然后在代码隐藏中使用此函数:
C#:
public static string LineBreaksTextToDB(string input)
{
return System.Text.RegularExpressions.Regex.Replace(input, "([^\\r])[\\n]", "$1\\r\\n").Replace("\\r\\n", "<br />");
}VB.NET:
Public Shared Function LineBreaksTextToDB(ByVal input As String) As String
Return System.Text.RegularExpressions.Regex.Replace(input, "([^\r])[\n]", "$1\r\n").Replace("\r\n", "<br />")
End Function然后这样做:
... = LineBreaksTextToDB(txtMyInput.Text)并且所有的NewLines都被转换成<br />标签。
更新:
如果您想在输入中回调这些已保存的数据,则需要再次将<br />转换为NewLine。但是,如果您尝试以类似于Lable的形式显示数据,则不需要做任何事情,因为<br />标记是在HTML语言中自动实现的。
C#:
public static string LineBreaksDBToText(string input)
{
return input.Replace("<br />", System.Environment.NewLine);
}VB.NET:
Public Shared Function LineBreaksDBToText(ByVal input As String) As String
Return input.Replace("<br />", vbCrLf)
End Function然后这样做:
txtMyInput.Text = LineBreaksDBToText(myDatabaseTable.myField)并且所有的<br />标签都被转换成NewLines。
注意:我对C#不太确定,它只是用This Convertor编写的VB代码。
发布于 2014-08-20 00:16:17
如果需要新行,可以不插入<br>而插入"\n"
发布于 2014-08-20 17:09:50
如果您使用的是纯文本,则不需要<br>的文本。
在后端将纯文本行换行\n转换为<br>。
或者,当使用HTML替代文本区域( WYSIWYG编辑器)时,您可以通过CSS设置换行行为。
#myEditorBox {
white-space: pre;
}https://stackoverflow.com/questions/25387975
复制相似问题