Javascript Prompt()输入验证

时间:2013-06-20 16:13:23

标签: javascript html

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

是否必须在HTML文档中以表单形式完成提示?

3 个答案:

答案 0 :(得分:4)

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

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)
}

答案 1 :(得分:0)

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

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

fiddle

答案 2 :(得分:0)

抱歉,我等不及了......以下是我在上面评论中提到的代码。 jsFiddle live example here

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

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

老实说,这些天来,提示()对于网站来说是一个坏主意。也许这更像是你想做的事情。验证(用户输入的内容)在对话框的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>