我正在使用 Twitter Bootstrap 3.1.1
和 Parsley v2.0.0-rc3
。我让它主要与 classHandler
选项分开工作。
我有这样的 HTML:
<div class="form-group">
<label class="control-label" for="username">User Name</label>
<input class="form-control" id="username" name="username" required="" type="text" value="">
</div>
然后像这样运行欧芹:
$("#register_form").parsley({
successClass: "has-success",
errorClass: "has-error",
classHandler: function(el) {
return $(el).closest(".form-group");
},
errorsWrapper: "<span class='help-block'></span>",
errorTemplate: "<span></span>"
});
一切正常,但成功/错误类应用于错误的元素。页面加载后,我得到:
<div class="form-group">
<label class="control-label" for="username">User Name</label>
<input class="form-control" id="username" name="username" required="" type="text" value="" data-parsley-id="5043">
<span class="help-block" id="parsley-id-5043"></span>
</div>
验证后,结果是这样的:
<div class="form-group">
<label class="control-label" for="username">User Name</label>
<input class="form-control has-error" id="username" name="username" required="" type="text" value="" data-parsley-id="5043">
<span class="help-block filled" id="parsley-id-5043">
<span class="parsley-required">This value is required.</span>
</span>
</div>
但是,我期望有所不同:
<div class="form-group has-error">
<label class="control-label" for="username">User Name</label>
<input class="form-control" id="username" name="username" required="" type="text" value="" data-parsley-id="5043">
<span class="help-block filled" id="parsley-id-5043">
<span class="parsley-required">This value is required.</span>
</span>
</div>
我已使用 alert
验证了该函数正在运行。但我对 jQuery 和 JavaScript 很陌生,所以我不知道如何进一步调试并修复它。
最佳答案
你应该尝试:
classHandler: function(el) {
return el.$element.closest(".form-group");
}
el 是一个来自欧芹的对象(我使用 chrome 开发控制台看到过它),他有一个带有 JQuery 元素的 $element 字段:)
关于javascript - 让 Parsley 2.x 正确使用 Bootstrap 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22217735/