首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript Prompt()输入验证

Javascript Prompt()输入验证
EN

Stack Overflow用户
提问于 2013-06-21 00:13:23
回答 3查看 7.8K关注 0票数 0

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-21 00:39:36

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

这是一个完全正常工作的独立示例。只需复制/粘贴到一个文件中并运行即可。

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

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

代码语言:javascript
运行
复制
<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>
票数 0
EN

Stack Overflow用户

发布于 2013-06-21 00:15:25

prompt被阻塞。只有在点击OK按钮(或按enter键)后,才会返回输入的内容。

代码语言:javascript
运行
复制
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)
}
票数 5
EN

Stack Overflow用户

发布于 2013-06-21 00:18:56

提示将返回您在对话框窗口中输入的值。无论您想做什么,都可以使用返回值。如下所示:

代码语言:javascript
运行
复制
var answer = prompt("<something>");
//stuff with answer

fiddle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17218632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档