0

HTML

<form action="#" id="MyForm" name="MyForm">
<table id="tblData">
    <tr>
        <td>
            <label >
                A</label>
            <input id="A" name="A" type="text" value="" />
        </td>
    </tr>
    <tr>
        <td>
            <span id="submitButton">Next</span>
        </td>
    </tr>
</table>
</form>

jQuery

$(document).ready(function () {
    $('#submitButton').validate(
    {
        rules: {
            A:
            {
                required: false,
                range: [1, 100]
            }
        },
        messages: {
            A: {
                range: jQuery.validator.format("Please enter a valid range.")
            }
        }
    });
});

脚本文件

<script src="/Scripts/jquery-1.9.1.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js" ></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"
    ></script>

问题

如果你注意 HTML,我们有 span。我想在单击此跨度而不是输入按钮时验证表单。问题是,验证没有发生。我怎样才能做到这一点?

JSFiddle 链接

4

3 回答 3

2
$(document).ready(function () {

    $("#submitButton").click(function(){
        $('#MyForm').submit();
    });

    $('#MyForm').validate({
        rules: {
            A: {
                required: true,// here set false if not require as you did it in your question
                range: [1, 100]
            }
        },
        messages: {
            A: {
                range: jQuery.validator.format("Please enter a valid range.")
            }
        }
    });

});

查看演示 和参考验证

于 2013-09-13T06:54:40.503 回答
-1

你需要升级你的jquery

取自http://jqueryvalidation.org/

必需的

jQuery,用 1.6.4、1.7.2、1.8.3、1.9.0 测试

所以也许使用这个:

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
于 2013-09-13T06:45:51.477 回答
-1

我更新了小提琴,你现在可以在Link上看到答案

我将代码更改为:

$(document).ready(function () {
$('#submitButton').click(function () {


    $("#MyForm").validate({
        rules: {
            A: {
                required: false,
                range: [1, 100]
            }
        },
        messages: {
            A: {
                range: jQuery.validator.format("Please enter a valid range.")
            }
        }
    });
  });

});
于 2013-09-13T06:50:04.780 回答