如何根据用户是否回答了我'We’我在提示中被预先键入了
How to i make my prompt alert accordingly to if the user has answered what i've got pre typed in the prompt?
如果用户输入"输入您的姓名"。我有一个if和elseif,但我不知道其他是否适用。这是我的代码
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body style="background-color: silver">
<script>
var name=prompt("Enter your name", "Enter your name")
if (name !== '') {
alert("Welcome" + " " + name)
} else if(name !== false) {
prompt("Oops, looks like you didn't enter anything");
}
</script>
</body>
<html>
此方法定义了一个函数getName(),它采用与prompt()相同的参数。如果没有指定默认值,则使用传递给它的问题。然后使用这些值询问用户的姓名。如果用户返回的响应不令人满意,即错误(name=='',name==null等)或与我们给他们的提示等效,我们会弹出一个新的提示,其中包含一条错误消息,但默认消息相同。
function getName(ques, def) {
def = def || ques; // Make default param optional
var name = prompt(ques, def);
if (name && name !== '' && name != def) {
return name;
} else if(name !== false) {
return getName("Oops, looks like you didn't enter anything", def);
}
};
var name = getName("Enter your name");
alert('Your name is: ' + name);
演示:http://cdpn.io/rlJGj
从用户体验的角度来看,要小心。由于许多原因,这简直太可怕了。如果用户点击cancel,这将提示他们,直到他们输入一个可接受的值并按ok。这并不能带来最佳的用户体验,事实上,这是一个非常糟糕的体验。
<script>
var name=prompt("Enter your name", "Enter your name")
if (name!=='' && name!=='Enter your name') {
alert("Welcome" + " " + name)
} else if(name!==false) {
prompt("Oops, looks like you didnt enter anything");
}
</script>
演示
如果您查看JavaScript的prompt()方法的定义,您可以看到第二个参数是在用户没有输入任何内容的情况下该方法应该返回的默认文本。
试试这个:
var name = prompt("Enter your name");
if (name === "") {
prompt("Oops, looks like you didn't enter anything");
} else if(name != null) {
alert("Welcome" + " " + name);
}
希望这能有所帮助!现场演示。
else if(name !== false)
将始终为true
。
因为name永远不会包含值true
;===
不进行类型转换。
所以稍微清理一下:
var pHolder = "Enter your name"
var name=prompt("Enter your name", pHolder )
if(!name ||name == pHolder){
alert("Oops, looks like you didnt enter anything");
}
else{
alert("Welcome" + " " + name)
}
相关文章:
- 提示使用服务器端事件处理程序激活JavaScript
- d3.js Chord图的动态工具提示
- Javascript 可选类型提示
- 单击按钮后启动javascript提示
- Graphiti中是否有任何工具提示功能
- JS,用于播放提示音以通知未按预期工作
- "工具提示"jQuery插件坏了
- 如何在 JavaScript 和 HTML 中更改对输入框的提示响应
- 单元格的工具提示或标题不显示超过2000个字符
- JQM simpledialog:如何提示输入数字
- d3.js用按钮更新条形图工具提示
- 使Intro.js工具提示响应
- 画布中绘制的矩形区域的弹出工具提示
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- 是否可以用变量确认提示警报
- 禁用NVD3 multiBarHorizontalChart中0值的工具提示
- 模态提示-如何重写此代码
- 如何更改已显示的工具提示
- 将javascript应用程序迁移到使用AMD的提示(例如requirejs)
- 如何根据用户是否回答了我'We’我在提示中被预先键入了