在输入元素数组上触发模糊事件

时间:2014-05-22 21:18:38

标签: jquery

HTML:

<div class="form-group">
    <label for="firstName" class="control-label">* First Name</label>
    <input type="text" id="firstName" name="firstName" class="form-control validate validate-required">
</div>
<div class="form-group">
    <label for="lastName" class="control-label">* Last Name</label>
    <input type="text" id="lastName" name="lastName" class="form-control validate validate-required">
</div>
<div class="form-group">
    <label for="email" class="control-label">* Email</label>
    <input type="email" id="email" name="email" class="form-control validate validate-required">
</div>

我正在验证表单,对于任何错误,我将输入的名称(字符串)推送到errors数组中。当我完成验证时,我有这个脚本:

JavaScript:

if (that.errors.length > 0)
{
    $.each(that.errors, function(key, element) {
        var $element = $(element);
        $element.trigger('blur');
    });
}

我需要在此数组中的每个输入上触发blur事件。我只能得到一个元素。例如,每个元素都应该有一个红色边框。

如果我控制台注销掉每个元素,系统就会看到它们,但我的用户界面却没有反映出来。

[prevObject: n.fn.init[1], context: document, selector: "firstName", jquery: "1.11.0", constructor: function…]
[prevObject: n.fn.init[1], context: document, selector: "lastName", jquery: "1.11.0", constructor: function…]
[prevObject: n.fn.init[1], context: document, selector: "email", jquery: "1.11.0", constructor: function…]

that.errors只是输入名称列表(字符串值)。例如:

[0] - firstName
[1] - lastName
[2] - email

修改

我已发布相关标记。 当我手动给出元素焦点时,然后选项卡(模糊)输入被验证。如果输入无效,我将获得红色边框。

但是,如果我使用上述方法触发模糊,系统会正确看到每个输入,似乎没有正确触发blur()事件。我无法在错误数组中的任何输入上获得红色边框。

感谢您的时间!

0 个答案:

没有答案