Javascript提示取消按钮不是"Canceling"
Javascript Prompt Cancel Button not "Canceling"
我注意到,当您让用户通过prompt
窗口输入文本时,提示符将返回null
并继续执行代码。我想让取消按钮按它说的去做,取消。我尝试了几个if
语句,包括:
var x= prompt("Please enter a number for <X>: (<X> + <Y>)");
if (x === null) {
return;
}
var y= prompt("Please enter a number for <Y>: (<X> + <Y>)");
if (x === null) {
return;
}
eval ("x=x; y=y; alert(+x + + y)");
};
以上没有改变任何东西
var x= prompt("Please enter a number for <X>: (<X> + <Y>)");
if (verifyInput(false)) {
return;
}
var y= prompt("Please enter a number for <Y>: (<X> + <Y>)");
if (verifyInput(false)) {
return;
}
eval ("x=x; y=y; alert(+x + + y)");
};
这个使OK和Cancel按钮都返回false,并且即使按下OK,代码也不会继续。
是否有一些代码会影响取消按钮,从而阻止脚本继续运行?谢谢!
我对这个网站很陌生,所以如果我没有说清楚的话,请原谅我:)
这里的问题是,您正在使用身份操作符(===)来检查null…Null本身是一个对象,而你的提示结果将是一个字符串…因此,它永远不会是真的……使用相等操作符代替(==)。
您可能还想删除eval语句,而只是警告结果:
alert(" + (x + y));
编辑:抱歉,我注意到你想在这里执行一个实际的数学过程…这是为我工作的代码…真正的基本HTML页面,但应该帮助你做你需要的:<html>
<head>
<title>test</title>
</head>
<body onload="Prompter();">
<script type="text/javascript">
function Prompter()
{
var x = prompt("Please enter a number for <X>: (<X> + <Y>)");
var y = prompt("Please enter a number for <Y>: (<X> + <Y>)");
if(x && y)
alert("" + (parseInt(x) + parseInt(y)));
}
</script>
</body>
</html>
当prompt
返回字符串时,您正在检查null
的相等性;这行不通。相反,这应该是您的条件:
if ( x === "" ) { / ... / }
这里检查的是空字符串。而且,eval语句不做任何事情,您可以不使用它执行相同的代码:
alert( +x + +y );
试试break;
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 插入“;img src"在javascript中