我在ASP.net应用程序中使用电子签名板。如果没有连接epad,我想弹出一条警告信息。
function isePad() {
var epad;
epad = window.document.esCapture1.ConnectedDevice;
alert(epad);
if (epad == '' ) {
alert('Sorry epad is not Connected or drivers not installed');
}
}
在大多数机器中,它工作正常。在某些机器中,第一个警报显示未定义的值。我想显示警报('抱歉epad未连接或驱动程序未安装');如果epad值为''或未定义
答案 0 :(得分:3)
如果epad
的值为false
或undefined
,则''
将评估为if (!epad) {
alert('Sorry epad is not Connected or drivers not installed');
}
。
{{1}}
答案 1 :(得分:2)
function isePad() {
var epad;
epad = window.document.esCapture1.ConnectedDevice;
alert(epad);
if (epad == '' or epad == undefined) {
alert('Sorry epad is not Connected or drivers not installed');
}
}
答案 2 :(得分:0)
尝试
if (epad == '' || typeof epad == 'undefined') {
而不是
if (epad == '' ) {
答案 3 :(得分:0)
所以 - 其中一些对我来说是新的,也许其他人会有宝贵的东西可以添加到我要说的内容中......
也许尝试这样的事情......
(function() {
var epad = window.document.esCapture1 && window.document.esCapture1.ConnectedDevice;
alert(epad);
!epad && alert('Sorry epad is not Connected or drivers not installed');
})();
在你的例子中,我认为如果'window.document.esCapture1'本身未定义,部分或全部浏览器可能会在函数的第1行阻塞,所以我改变它以防止这种可能性。
此外,将此测试放在匿名函数中会将'epad'变量保留在全局命名空间之外,这是一个好主意(除非您在别处需要它)。
最后一行只是测试'epad'变量是否为 falsy - 意味着如果'epad'为null,undefined或false,则会出现第二个警告。