0

我正在努力使用 HTML 代码来验证外部 js 文件中 Javascript prompt() 的输入。我了解调用 Javascript 函数进行验证,并且我知道如何编写函数,但是您如何“侦听”HTML 中的提示和后续输入?

提示是否必须在 HTML 文档中作为表单完成?

4

3 回答 3

5

prompt正在阻塞。无论输入什么,只有在单击 OK 按钮(或按下 Enter)后才会返回。

var foo = prompt('bar', 'baz');
if (some_condition(foo)) {
    // do something
} else {
    // do something else
    // (which might be to recursively call the function this code
    //  is inside until an acceptable result is received)
}
于 2013-06-20T16:15:25.117 回答
0

抱歉,我等不及了……这是我在上面的评论中提到的代码。jsFiddle现场示例在这里

这是一个完全有效的独立示例。只需复制/粘贴到文件中并运行。

请注意,您必须在代码本身之前引用/加载 jQuery 和 jQueryUI 库(在标签中完成)。

老实说,prompt() 现在对网站来说是个坏主意。也许这更像是你想要做的。验证(用户键入的内容)在close对话框部分完成。

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />

        <script type="text/javascript">
            $(document).ready(function() {

                $('#mybutt').click(function() {
                    $('#msg').dialog({
                        autoOpen:true,
                        modal:true,
                        title: 'This is a question:',
                        buttons: {
                            Go: function() {
                                $(this).dialog('close');
                            }
                        },
                        close: function() {
                            var s = $('#sumpin').val();
                            if (s.length<15)
                                alert('Please type more than 15 characters');
                            else
                                alert('You typed: ' + s);
                        }
                    });
                });

            }); //END $(document).ready()

        </script>
    </head>
<body>

    <div id="msg" style="display:none">
        Type something here:<br />
        <input id="sumpin" type="text">
    </div>
    <br />
    <input type="button" id="mybutt" value="Click Me">

</body>
</html>
于 2013-06-20T16:39:35.600 回答
0

提示返回您在对话窗口中输入的值。将返回的值用于您想做的任何事情。像这样:

var answer = prompt("<something>");
//stuff with answer

小提琴

于 2013-06-20T16:18:56.427 回答