【发布时间】:2016-07-25 05:13:01
【问题描述】:
我提示我在 Javascript 中使用 percent-sign 向 asp:textbox 添加文本并尝试将 % 转义为字符串
<asp:TextBox ID="txtValue" Enabled="true" CssClass="form-control" TextMode="MultiLine" Rows="5" runat="server"></asp:TextBox>
sql = prompt("Enter Condition");
if (sql != null) {
var sqlcode = cond.concat(" like ", " \'\%]", sql, "\%\' ");
$('#<%= txtValue.ClientID %>').addTag(sqlcode);
}
但这仍然显示了我
未捕获的错误:语法错误,无法识别的表达式:%test%
jquery-tags-input初始化
<script>
function onAddTag(tag) {
alert("Added a tag: " + tag);
}
function onRemoveTag(tag) {
alert("Removed a tag: " + tag);
}
function onChangeTag(input, tag) {
alert("Changed a tag: " + tag);
}
$(document).ready(function () {
$('#<%= txtSQL.ClientID %>').tagsInput({
width: 'auto',
'delimiter': [' '],
defaultText: "",
unique:false,
onAddTag: function (elem, elem_tags) {
var languages = ['or', 'and'];
$('.tag', elem_tags).each(function () {
if ($(this).text().search(new RegExp('\\b(' + languages.join('|') + ')\\b')) >= 0)
$(this).css('background-color', 'blue');
});
},
onChange: function (elem, elem_tags) {
var languages = ['or', 'and'];
$('.tag', elem_tags).each(function () {
if ($(this).text().search(new RegExp('\\b(' + languages.join('|') + ')\\b')) >= 0)
$(this).css('background-color', 'blue');
});
}
});
});
</script>
' Singlequote 也发生了这种情况
如何将它们转义为字符串,我尝试使用双反斜杠 \\,但它仅用于输入 ID 上的元字符,我不能与值一起使用。
【问题讨论】:
-
这绝不是一个有效的 ID。如果由某些服务器端事物进行预处理,这可能会导致有效的 ID,但反斜杠不会实现这一点(恰恰相反)。如果您正在提供一个 .js 文件,那么服务器很可能不知道它应该首先以某种方式对其进行转换。
-
所以我尝试在文本输入中添加文本,但出现同样的错误:) @JanDvorak
标签: javascript jquery asp.net jquery-tags-input