“语法错误:意外的令牌)”在 javascript 调用中,当 eval(value) 为空时
"SyntaxError: Unexpected token )" in javascript call when eval(value) is null?
我在OnClientClick
中有一个javascript调用,如下所示:
OnClientClick='<%# "return DisplayAlert(" + Eval("BedNum") + "," + Eval("ClientId") + ");" %>'
这是我的javascript函数:
function DisplayAlert(bed, clientid) {
if (clientid == null) {
alert('value is null 1st if');
}
if (clientid === null) {
alert('value is null 4th If');
}
if (clientid !== null) {
alert(clientid);
}
return false;
}
ClientId
始终为 null 或具有有效值。当ClientId
具有有效值时,将显示alert
。所以没关系。
但是,当ClientId
为空时,不会显示alert
,控制台会显示Uncaught SyntaxError: Unexpected token )
。
我认为当 clientid
为 null 时,javascript 函数调用的格式不正确,这就是我收到此错误的原因。但我不知道如何解决它。我总是可以用更易于管理的值替换 null,但如果别无选择,我会这样做。
任何帮助,不胜感激。
问题来自函数调用的构造。当客户端 ID 为空时...
这: <%# "return DisplayAlert(" + Eval("BedNum") + "," + Eval("ClientId") + ");" %>
产生这个: return DisplayAlert(value, );
注意空格
直接在 JS "DisplayAlert(value, null);" 中尝试您的函数,您的前 2 个警报将显示
也就是说,最好在创建函数调用之前将 null 更改为更易于管理的值。
由于我只需要知道客户端 id 是否为空,所以我最终检查了客户端 id 的长度,而不是实际值。在javascript函数中,我检查它是否为0:
OnClientClick='<%# "return ShowRoom(" + Eval("BedNum") + "," + Eval("ClientId").ToString().Length + ");" %>'
和JavaScript函数:
<script type="text/javascript">
function ShowRoom(bed, clientid) {
if (clientid == 0) {
//clientid is null. Do something.
} else if (clientid > 0)
{
//clientid is not null. Do something else.
}
return false;
}
</script>
相关文章:
- 递归使用 eval() 是检查程序执行的好方法吗?
- 为什么忽略了eval()代码中的语法错误
- 在ember/handlers中使用value和valueBinding有什么区别
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- Javascript eval()无法处理传递的字符串
- 需要url导航从DropDown Value onClick按钮传递url变量
- 用Javascript在下拉列表中选择VALUE选项
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 调用绕过eval()的函数
- Semi-sandboxing Javascript eval
- HTML Value finding
- Javascript GetElementByID has no value
- ES6 模板文字是否比 eval 更安全
- 如何获取文本框组的值,并使用jquery将它们放入(key:Value)数组中
- .value返回字符串,直到我将其保存到变量
- JavaScript 可以在这里使用 eval 吗?
- 如何使用uglifyjs/uglifyjs2解析walk和eval javascript表达式
- JavaScript check value
- 使用javascript和css选择器获取value属性的内容
- “语法错误:意外的令牌)”在 javascript 调用中,当 eval(value) 为空时