次のようなフォームの Jquery 検証があります。
$(this.initVariables.formId).validate({
errorElement: "div",
errorPlacement: function(error, element) {
error.insertBefore(element.parent());
}
}
問題は、エラーが表示されると、次のようにフォームが歪むことです。
私がやりたいことは、次のように隣接フィールドをエラーフィールドと同じ行に効果的に調整することです:
div の HTML コードは次のとおりです。
<div class="relatedField>
<div id="wwgrp_addForm_summaryData_firstName" class="wwgrp" style="float: left; padding-right: 6px;">
<div id="wwlbl_addForm_summaryData_firstName" class="wwlbl">
<label class="label" for="addForm_summaryData_lastName"> FIRST NAME </label>
</div>
<div id="wwctrl_addForm_summaryData_firstName" class="wwctrl">
<input id="addForm_summaryData_firstName" class="storedPaymentInput_size4 alphabet" type="text" value="" name="summaryData.firstName">
</div>
</div>
<div id="wwgrp_addForm_summaryData_lastName" class="wwgrp" style="float: left; padding-right: 6px;">
<div id="wwlbl_addForm_summaryData_lastName" class="wwlbl">
<label class="label" for="addForm_summaryData_lastName"> LAST NAME </label>
</div>
<div id="wwctrl_addForm_summaryData_lastName" class="wwctrl">
<input id="addForm_summaryData_lastName" class="storedPaymentInput_size4 alphabet" type="text" value="" name="summaryData.lastName">
</div>
</div>
</div>
フォームの実装を変更せずに jquery を使用してこれを行うにはどうすればよいですか。私はこの横にたくさんのフィールドを持っています。助けてください。ありがとうございました。
私の解決策は
errorPlacement: function(error, element) {
error.insertBefore(element.parent());
element.parent().parent().siblings().each( function () {
var child = $(this).children("div.wwctrl");
$("<div class='SPACE'> </div>").insertBefore(child);
});
}
しかし、ご覧のとおり、クリーンではなく、正しい検証の後、div スペースは削除されません。
これをより良く行う方法についてのアイデア。
ありがとうございました。