2013-08-22 42 views
0

我在OnClientClick上調用了我的按鈕控件上的javascript函數,以編碼用於電子郵件正文文本的文本框值。該JS函數調用encodeURI()來編碼文本框的文本值。使用encodeURI編碼的文本在回發前顯示()

標記:

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

JS功能:

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

問題是,當回發在文本框中的文本顯示第二編碼的文本,然後將其發送電子郵件。這是一個問題。另一個問題是如果發生錯誤,用戶將看到編碼測試,而不是他們輸入的原始文本。

回答

1

由於您將該輸入字段的值設置爲編碼url,因此它對用戶可見。

要避免使用隱藏的輸入字段,並設置它的價值,以encodedURI

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

它的工作謝謝。 – Sev