我已经实现了一个代码,其工作原理如下: -
点击“输入”会生成<br />
标记。我希望它应该生成我想要的<br />
,每当用户点击输入它时应该生成<br />
标签,但同时它不应该是可见的。请找到供您参考的代码: -
<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 />
标记即将发布,但我想同时隐藏它。请帮忙
答案 0 :(得分:1)
您似乎正在使用ASP.Net并尝试将Input的NewLines转换为<br />
标记,以便在其他地方使用,例如在数据库中保存。
如果你的方法是错误的,那么让用户使用Enter键在textarea中创建新行,完全删除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代码。
答案 1 :(得分:0)
如果您想要换行,可以插入"\n"
代替<br>
答案 2 :(得分:0)
如果您使用的是textarea
,则说明文字不需要<br>
。
将纯文本换行符\n
转换为后端的<br>
。
或者,当使用textarea(WYSIWYG编辑器)的HTML替换时,您可以通过CSS设置换行符。
#myEditorBox {
white-space: pre;
}