0

我在按钮控件的 OnClientClick 上调用 javascript 函数来编码用于电子邮件正文的文本框值。该 JS 函数调用 encodeURI() 来对文本框的文本值进行编码。

标记:

<asp:Button ID = "btnSend" runat = "server" Text= "Send" OnClientClick = "return encodeBody()"/>

JS函数:

function encodeBody() {
    document.getElementById(txtBodyID).value =         encodeURI(document.getElementById(txtBodyID).value);
}

问题是当它回发文本框中的文本时,会显示编码文本一秒钟,然后发送电子邮件。这是一个问题。另一个问题是如果发生错误,用户将看到编码的测试而不是他们输入的原始文本。

4

1 回答 1

1

由于您将该输入字段的值设置为编码的 url,这就是它对用户可见的原因。

为避免它使用隐藏的输入字段并将其值设置为 encodedURI

function encodeBody() {
    document.getElementById(hiddenfield).value = encodeURI(document.getElementById(txtBodyID).value);
}
于 2013-08-22T17:48:38.563 回答