【发布时间】:2023-03-27 02:27:01
【问题描述】:
我在按钮控件的OnClientClick 上调用javascript 函数来编码文本框值。
该JS函数调用encodeURIComponent()对文本框的文本值进行编码。
我的 Javascript 函数是
function Validate() {
var d = document.getElementById('<%=NoteText.ClientID %>');
var Hdn = document.getElementById('HdnProcessing');
if (d.value == '') {
alert(document.getElementById('<%=NotesMessage.ClientID %>').value);
d.focus();
return false;
}
if (Hdn.value == "Processing") {
return false;
} else {
Hdn.value = "Processing";
var headObj = document.getElementById('<%=NoteHeading.ClientID %>');
headObj.value = encodeURIComponent(headObj.value);
d.value = encodeURIComponent(d.value);
return true;
}
}
这里我的输入是文本框,即 NoteText 和 NoteHeading。
如果有人正在阅读这篇文章,我想知道是否可以将编码文本传递给服务器,而用户不会在文本框中看到编码文本的更新。当前,当用户单击“保存”按钮时,他们会在页面刷新前一瞬间看到文本更改为编码文本。我只是好奇我是否可以阻止用户看到它。
【问题讨论】:
-
期望的行为是什么?哪个文本框应该有编码的文本?哪些输入是文本框(即 NoteText、NotesMessage、NoteHeading、以上所有内容等)?
-
你使用
encodeURIComponent但这里没有decodeURIComponent应该是这样吗? -
Notetext 和 Noteheading 是输入,我们需要这个文本框的编码值来保存值。我们没有使用 decodeURIComponent。我们使用了这个 encodeURIComponent 因为有时我们会在文本框中添加尖括号值即.
标签: javascript asp.net encodeuricomponent