使用jQuery validate插件在下拉值更改时显示弹出/警报

时间:2012-11-06 01:29:46

标签: jquery jquery-validate

我正在使用jQuery validate插件进行表单验证。我在设置必填字段(使用规则和消息)时工作正常,如果用户尝试提交表单时未完成,则会突出显示。

我有另外一个要求,我想知道是否可以使用jQuery validate插件完成此操作?

我有一个包含三个值的下拉字段 - 草稿,待审核和已发布。默认值为Draft。当用户将下拉值更改为“已发布”时,我希望立即显示一个弹出警告框,其中显示“您确定要将其发布吗?”使用Okay或Cancel选项。

这是否可以使用jQuery validate插件?如果是这样,怎么样?

感谢您的帮助,

步骤

1 个答案:

答案 0 :(得分:1)

我不会在jquery验证规则中进行交互式cofirmation,尽管如果你真的想要它是可能的。其中一个原因是,当您提交表单时,规则将运行,作为表单验证的一部分,为您提供第二个确认弹出窗口。

试一试,看看它是否适合你

<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.10.0/jquery.validate.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $.validator.addMethod("myConfirm", function (value) {
            confirm('are you sure?');
            return true;
        }, '');

        $(function () {
            $('form').validate({
                onfocusout: false,
                // warning - I don't recommend doing this
                rules: { mychoice: "myConfirm" }
            });
            $('select').change(function () {
                $('form').validate().form();
            });

        });
</script>
</head>
<body>
    <form>
    <select name="mychoice">
        <option>great</option>
        <option>good</option>
    </select>
    <input type="submit" />
    </form>
</body>
</html>