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()事件。我无法在错误数组中的任何输入上获得红色边框。
感谢您的时间!