我想提示一个字符串。我的其他需要是不要通过按ENTER或ESC键退出。 ENTER可以使用这种方法(无法逃脱):
var f1 = '';
while (f1.length < 1) {
f1 = prompt('Please give a value of the string!');
}
我如何才能找到该脚本也无法通过按ESC退出的功能? 谢谢, 哈扎兹
答案 0 :(得分:0)
prompt
返回null
。您还需要同时检查null
while (f1 == null || f1.length < 1)
或者简单地
while (!f1)
使用这个:
var f1 = '';
while (!f1) {
f1 = prompt('Please give a value of the string!');
}
注意:由于Cancel和ESC都返回null,因此您将无法 不过请取消。
答案 1 :(得分:-1)
容易。首先,您必须提供提示的默认值,并将其设置为提示,然后通过将默认值与新值进行比较来检查提示是否为空。如果用户忽略提示,则默认值为最终值。在那里,我们会得到它。当用户忽略或按Enter或ESC键时,我将返回false到结果。
document.getElementById("test").addEventListener("click", function() {
var oldVal = 'Enter Name:';
var newVal = prompt("Enter new value:", oldVal);
var results = document.getElementById("results");
if (newVal === null || newVal === oldVal) {
results.innerHTML = false;
//And here if the prompt is empty just do what you want.
} else {
results.innerHTML = true;
}
});
<button id="test">Test</button>
<div id="results"></div>