使用 innerHtml 设置文本区域内容后获取文本区域内容
本文关键字:区域 获取 取文本 innerHtml 使用 置文本 | 更新日期: 2023-09-27 18:37:10
我正在 asp.net 中处理一些需要允许用户更改文本区域内信息内容的内容。发生的情况是,我通过获取外部.txt、.html或.rtf文件中的信息来设置文本区域内容,然后使用 innerHtml 将其设置到文本区域中。
至于检索数据,我也使用 innerHtml 在页面后面的.cs文件中执行此操作。问题是,当我尝试这样做时,即使我替换了每一行文本,我也会恢复以前设置的内容。例如,如果我最初先设置了"这是初始文本",然后将其全部替换为"新文本",则innerHtml只会给我"这是初始文本"。
有没有其他方法可以获取新文本或让 innerHtml 做我想做的事?
编辑:忘记包含代码。
在代码的aspx端,我只有一个简单的文本区域,
<textarea id="TextArea1" cols="80" rows="10" runat="server"></textarea>
在ASPX方面.cs,
protected void Page_Load(object sender, EventArgs e)
{
ces = new ContentEditorService.ContentEditorService();
strRtfDir = Server.MapPath("Testfile.rtf");
string strContents = ces.loadEditorContents(strRtfDir);
TextArea1.InnerText = strContents;
}
其中 CES 加载一个单独的.cs文件,用于加载和保存文本。
至于获取内容,我正在使用
protected void Button1_Click(object sender, EventArgs e)
{
string strTxtArea = TextArea1.InnerHtml;
System.Diagnostics.Debug.WriteLine(strTxtArea);
//ces.saveEditorContents(strContents, strRtfDir);
}
它获取内容并将它们打印出来现在在 Visual Studio 的调试窗口中,只是为了看看我是否设法获取了更改的文本。
将代码更改为以下内容:
if (!IsPostBack)
{
ces = new ContentEditorService.ContentEditorService();
strRtfDir = Server.MapPath("Testfile.rtf");
string strContents = ces.loadEditorContents(strRtfDir);
TextArea1.InnerText = strContents;
}
因为即使您单击了 Button1,Page_Load也会始终被执行。
您可以使用 jquery 获取文本区域内的值
var text = $('#yourTextAreaId').html();
或
var text = $('#yourTextAreaId').val();