在Javascript中使用Window.prompt()

时间:2016-10-30 19:26:43

标签: javascript jquery html popupwindow

我有以下代码:

<!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;,通过单击它而不必键入它。

希望这是有道理的,任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:2)

  

我想这样做,以便用户可以单击弹出窗口中显示的名称之一(John,mike,steve,oliver等),然后单击将导致名称出现在typable字段中。这可能吗?

不在prompt()。您需要在HTML中创建自己的UI,并使用具有所需布局的表单。

另外,一个不相关的说明......这段代码很危险:

document.getElementById("demo").innerHTML =
    "Hello " + person + "! How are you today?";

当您将文本连接到HTML时,您允许人们输入恶意代码,或者只是可能破坏HTML的普通保留字符。确保您正在设置文本。

答案 1 :(得分:0)

Check Here

我在@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?";
    }
}

&#13;
&#13;
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;
&#13;
&#13;