JavaScript提示框:如何验证取消按钮(null)
JavaScript prompt box: how to validate the cancel button (null)
我有一些 JavaScript 可以作为验证提示框输入的示例。
用户单击按钮,输入名称,JavaScript 验证输入并显示适当的消息。如果名字没问题,它说这是一个好名字,如果你输入 number/symbol 它说输入无效(到目前为止一切正常)。但是,当用户单击提示框上的 "cancel" 时,消息显示 "null" is a good name。我试图抓住这个,但它似乎不起作用。当用户单击 "cancel"?
时,如何让它显示一条消息说您没有输入有效名称
这是它的 JS fiddle: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" 准备好接收无效消息的。
只需检查 str
是否为 null
(相对于 "null"
)
function Test(str) {
return (str !== null) && /^[a-zA-Z]+$/.test(str);
}
然后只需检查
if (T === false) {
如果按下 OK 或 return,prompt
将 return 输入值,包括空字符串 ""
,如果按下 Cancel,则 null
。
将此行合并到您的 if 条件中处理取消选项:
if (T != '' && T != null){
document.getElementById("vresult").innerHTML = "You did not enter a valid name!";
}
你的语法有问题:
if (T == false | T == "null")
null
不应该是字符串,或者 ||
不是 |
.
您还想检查 PetName
是否为 null
,而不是正则表达式的结果。
该行应如下所示:
if (!T || !PetName)
这是你的fiddle:http://jsfiddle.net/jzzsqu06/1/
我有一些 JavaScript 可以作为验证提示框输入的示例。
用户单击按钮,输入名称,JavaScript 验证输入并显示适当的消息。如果名字没问题,它说这是一个好名字,如果你输入 number/symbol 它说输入无效(到目前为止一切正常)。但是,当用户单击提示框上的 "cancel" 时,消息显示 "null" is a good name。我试图抓住这个,但它似乎不起作用。当用户单击 "cancel"?
时,如何让它显示一条消息说您没有输入有效名称这是它的 JS fiddle: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" 准备好接收无效消息的。
只需检查 str
是否为 null
(相对于 "null"
)
function Test(str) {
return (str !== null) && /^[a-zA-Z]+$/.test(str);
}
然后只需检查
if (T === false) {
如果按下 OK 或 return,prompt
将 return 输入值,包括空字符串 ""
,如果按下 Cancel,则 null
。
将此行合并到您的 if 条件中处理取消选项:
if (T != '' && T != null){
document.getElementById("vresult").innerHTML = "You did not enter a valid name!";
}
你的语法有问题:
if (T == false | T == "null")
null
不应该是字符串,或者 ||
不是 |
.
您还想检查 PetName
是否为 null
,而不是正则表达式的结果。
该行应如下所示:
if (!T || !PetName)
这是你的fiddle:http://jsfiddle.net/jzzsqu06/1/