使用encodeURI()时,在回发之前显示编码的文本
本文关键字:显示 编码 文本 encodeURI 使用 | 更新日期: 2023-09-27 18:28:43
我正在按钮控件的OnClientClick上调用一个javascript函数,以对电子邮件正文文本的文本框值进行编码。该JS函数调用encodeURI()对textbox的文本值进行编码。
标记:
<asp:Button ID = "btnSend" runat = "server" Text= "Send" OnClientClick = "return encodeBody()"/>
JS函数:
function encodeBody() {
document.getElementById(txtBodyID).value = encodeURI(document.getElementById(txtBodyID).value);
}
问题是,当它发回文本时,文本框中的文本会显示编码文本一秒钟,然后发送电子邮件。这是一个问题。另一个问题是,如果发生错误,用户将看到编码的测试,而不是他们输入的原始文本。
由于您将该输入字段的值设置为编码的url,因此它对用户可见。
为了避免它,使用隐藏的输入字段并将其值设置为encodedURI
function encodeBody() {
document.getElementById(hiddenfield).value = encodeURI(document.getElementById(txtBodyID).value);
}