我有以下代码:
<!DOCTYPE html>
<html>
<body>
<p>Click the button to demonstrate the prompt box.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var person = prompt("Choose a name\nJohn\nMike\nSteve\nOliver", "John");
if (person != null) {
document.getElementById("demo").innerHTML =
"Hello " + person + "! How are you today?";
}
}
</script>
</body>
</html>
它显示一个弹出框,要求用户输入名称,而john是默认名称。
我想这样做,以便用户可以单击弹出窗口中显示的名称之一(John,mike,steve,oliver等),然后单击将导致名称出现在typable字段中。这可能吗?我需要在Javascript中提供不同类型的提示吗?
我基本上不想输入值,但可以通过名单列表点击它,然后点击“确定”或相应取消。
例如,如果用户点击了&#34; Mike&#34;作为弹出窗口中的链接,它应该在底部填充名称&#34; Mike&#34;,通过单击它而不必键入它。
希望这是有道理的,任何帮助都会非常感激。
答案 0 :(得分:2)
我想这样做,以便用户可以单击弹出窗口中显示的名称之一(John,mike,steve,oliver等),然后单击将导致名称出现在typable字段中。这可能吗?
不在prompt()
。您需要在HTML中创建自己的UI,并使用具有所需布局的表单。
另外,一个不相关的说明......这段代码很危险:
document.getElementById("demo").innerHTML =
"Hello " + person + "! How are you today?";
当您将文本连接到HTML时,您允许人们输入恶意代码,或者只是可能破坏HTML的普通保留字符。确保您正在设置文本。
答案 1 :(得分:0)
我在@brad
的基础上添加了一个答案function myFunction() {
var person = prompt("Choose a name\nJohn\nMike\nSteve\nOliver", "John");
if (person != null) {
document.getElementById("demo").innerHTML =
"Hello " + person + "! How are you today?";
}
}
function myFunction() {
var person = prompt("Choose a name\nJohn\nMike\nSteve\nOliver", "John");
if (person != null) {
document.getElementById("demo").innerHTML =
"Hello " + person + "! How are you today?";
}
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<p>Click the button to demonstrate the prompt box.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
&#13;