我已经实现了一个代码,它是这样工作的:-
点击进入它生成<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 />
标签来了,但我想同时隐藏它。请帮忙
最佳答案
您似乎正在使用 ASP.Net,并且您正在尝试将 Input 的换行符转换为 <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)
并且所有换行符都转换为 <br />
标签。
更新:
如果你想在一个Input中回调这个保存的数据,那么你需要转换<br />
再次换行。但是,如果您尝试以类似 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 />
标签被转换为换行符。
注意:我不确定 C# 它只是使用 This Convertor 转换的 VB 代码.
关于javascript - 将输入的换行符转换为 <br/> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25387975/