Javascript 具有带大括号的字符串时无法识别的表达式
我有一个页面,其中一个隐藏的输入框如下所示:Javascript 具有带大括号的字符串时无法识别的表达式,javascript,jquery,Javascript,Jquery,我有一个页面,其中一个隐藏的输入框如下所示: <input type="hidden" name="RequestID" id="RequestID" value="{834b3866-6373-4f2d-8e0b-f28da66c3317}" /> 运行代码时,我的控制台显示: 无法识别的表达式{834b3866-6373-4f2d-8e0b-f28da66c3317} 这是因为花括号,所以我尝试了这个 var reqID = $('#RequestID').val(); req
<input type="hidden" name="RequestID" id="RequestID" value="{834b3866-6373-4f2d-8e0b-f28da66c3317}" />
运行代码时,我的控制台显示:
无法识别的表达式{834b3866-6373-4f2d-8e0b-f28da66c3317}
这是因为花括号,所以我尝试了这个
var reqID = $('#RequestID').val(); reqID.replace(/[{}]/g, '\\$&');
当我运行代码时,我的警报显示:
[对象,对象]
我需要的是在我的警报框中获得guid:{834b3866-6373-4f2d-8e0b-f28da66c3317},但我不知道我做错了什么。尝试使用数据-。。。属性而不是值: Html变成:
<input type="hidden" name="RequestID" id="RequestID" data-val="{834b3866-6373-4f2d-8e0b-f28da66c3317}" />
$('#btnGetId').on('click', function(){
var reqID = $('#RequestID').attr("data-val");
alert(reqID);
});
此处演示:
在我的原始代码中:
$('#btnGetId').on('click', function(){
var reqID = $('#RequestID').val();
alert($(reqID));
});
我把它改成了
$('#btnGetId').on('click', function(){
var reqID = $('#RequestID').val();
alert(reqID);
});
现在它正在工作。还有一些其他代码生成了您没有显示的错误。看见独立运行时效果很好:“当运行代码时,我的控制台会说:
无法识别的表达式{834b3866-6373-4f2d-8e0b-f28da66c3317}
“您能创建stacksnippets来演示吗?是的,@Jamiec是正确的。您发布的代码不可能生成该错误。它必须是程序中的其他代码。你的控制台应该给你一个行号。这将表明问题的真正所在。@Jamiec我找到了。显然我有警惕($(reqID));在我的原始代码中。所以我改变了它,现在它开始工作了。太好了,我正要建议它是在jQuery$()
中。请回答您自己的问题,如果您愿意,也可以删除您的问题。原文也是如此;)
$('#btnGetId').on('click', function(){
var reqID = $('#RequestID').val();
alert(reqID);
});