0

我的 HTML 如下所示:

<form id="mainform" method="post">
    <input type="text" class="required" name="receiver" />
    <span id="clickMe">Click me</span>
    <input type="submit">
</form>

我的JavaScript如下:

$(document).ready(function () {
    $("#clickMe").click(function() {
        $("input[name=receiver]").val("Clicked");
    });
    $("#mainform").validate({
        submitHandler: function (form) {
            alert("Success!");
            return false;
        }
    });
});

小提琴:http: //jsfiddle.net/Y9RFt/2/

如果您提交时将输入留空,则会出现错误。

如果您单击“单击我”范围,则输入会自动填充,但错误仍然存​​在,直到您提交表单。如果您键入内容,错误会立即消失。

有没有办法模拟用户输入,以便点击时错误消失?

4

2 回答 2

2

只需使用内置.valid()方法强制立即对表单进行验证测试。

$("#clickMe").click(function () {
    $("input[name=receiver]").val("Clicked");
    $("#mainform").valid();  // <<-- Add this line to force a test
});

演示:http: //jsfiddle.net/Y9RFt/8/

于 2013-05-18T18:08:08.467 回答
1

知道了。解决方案是简单地模糊输入:

$("input[name=receiver]").val("Clicked").blur();

小提琴:http: //jsfiddle.net/Y9RFt/7/

于 2013-05-18T14:16:14.747 回答