JavaScript 提示框:如何验证取消按钮 (null)
JavaScript prompt box: how to validate the cancel button (null)
我有一些JavaScript,应该作为如何验证提示框输入的示例。
用户单击按钮,输入名称,JavaScript 验证输入并显示相应的消息。如果名称很好,它说它是一个好名字,如果你输入一个数字/符号,它说输入无效(到目前为止都很好)。但是,当用户单击提示框上的"取消"时,消息显示"null"是一个好名称。我试图抓住这个,但它似乎不起作用。如何使其在用户单击"取消"时显示一条消息,指出您没有输入有效名称?
这是它的JS小提琴:http://jsfiddle.net/TurgidWizard/jzzsqu06/
.html:
<button onclick="Validation()">Click Me</button>
<p id="vresult"></p>
Javascript:
function Validation() {
document.getElementById("vresult").innerHTML = "";
PetName = prompt("Please enter your favourite pet's name:", "");
var T = Test(PetName);
if (T == false | T == "null") {
document.getElementById("vresult").innerHTML = "You did not enter a valid name!";
} else {
document.getElementById("vresult").innerHTML = PetName + " is a lovely name, good choice!!";
}
}
function Test(str) {
return /^[a-zA-Z]+$/.test(str)
}
请注意我如何尝试使用"if (T == false |T == "null")"以捕获"null",为无效消息做好准备。
你的语法在这里很糟糕:
if (T == false | T == "null")
null
不应该是字符串,或者||
不是|
。
您还想检查PetName
是否null
,而不是正则表达式的结果。该行应如下所示:
if (!T || !PetName)
这是你的小提琴:http://jsfiddle.net/jzzsqu06/1/
只需检查str
是否null
(而不是"null"
)
function Test(str) {
return (str !== null) && /^[a-zA-Z]+$/.test(str);
}
然后只需检查
if (T === false) {
如果按下"确定"或按 return,prompt
将返回输入的值,包括空字符串""
,如果按下"取消",则返回null
。
将此
行合并到您的 if 条件中处理取消选项:
if (T != '' && T != null){
document.getElementById("vresult").innerHTML = "You did not enter a valid name!";
}
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- jquery点击函数select&取消选择
- 提示使用服务器端事件处理程序激活JavaScript
- javascript提示-如何以阿拉伯语文本显示确定/取消按钮
- 没有取消按钮的Javascript提示框
- Javascript:通过另一个函数取消提示
- Javascript提示取消终止功能
- 如何使javascript提示框取消按钮什么都不做
- JavaScript 提示框:如何验证取消按钮 (null)
- 获得取消的 JavaScript 提示不执行任何操作
- 检查JavaScript提示是否已关闭/取消
- 停止调用一次提示框'取消'点击
- 在“取消”提示下刷新页面
- Javascript提示被取消,在While循环中不行为
- 当用户取消提示时,如何避免在空值上填充文本区域
- Javascript提示取消按钮不是"Canceling"
- JavaScript提示框取消按钮
- 提示时取消和空输入的值不同
- Ext.ux.grid.RowEditor 添加了用于保存和取消按钮的工具提示
- 在给定的超时后,取消工具提示