0

我尝试使用 jquery 验证插件进行简单验证,但无法实现。单击提交按钮时没有任何变化,请帮助我

我已经提到了下面的代码,

提前致谢。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js" />
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.js" />
    <script type="text/javascript">
        $(document).ready(function () {
            $('#btnSubmit').click(function () { 
            $('#logform').validate({
                rules: {
                    txtUsr: {
                        required: true

                    },
                    txtPass: {
                        required: true

                    }

                },
                messages: {
                    txtUsr: {
                        required: 'Please enter username'
                    },
                    txtPass: {
                        required: 'Please enter password'
                    }
                }

            });

        });

        });

    </script>
</head>
<body>
<div id='LoginDiv' style='width:400px;height:300px;background-color:green;'>
    <form method="post" action="" id='logform'>
        User Name : <input type="text" id='txtUsr' name='txtUsr' style='margin-top:12px'/>
        <br/>
        <br/>
        Password : <input type="text" id='txtPass' name='txtPass' /> 
        <br/>
        <br/>
        <input type="submit" id='btnSubmit' value='Submit' />
    </form>
    </div>
</body>
</html>
4

2 回答 2

2

您不应该在 click 事件处理程序中调用 validate ,而是作为初始化步骤:

$(document).ready(function () {
    $('#logform').validate({
        rules: {
            txtUsr: {
                required: true
            },
            txtPass: {
                required: true
            }
        },
        messages: {
            txtUsr: {
                required: 'Please enter username'
            },
            txtPass: {
                required: 'Please enter password'
            }
        }
    });
});

它将自己连接到 keyup 并提交事件。

于 2013-03-25T15:41:14.743 回答
1

问题是由于脚本自闭合标签造成的。

试试这个:

http://jsfiddle.net/aidioo7/FFTkJ/

利用

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.js"></script>

代替

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js" />
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.js" />

还要检查一下为什么自闭脚本标签不起作用?

于 2013-03-25T15:43:57.563 回答