Для формы, которую я создаю, я использую диалоговое окно jQuery UI, чтобы предоставить пользователю список из 50 флажков. Текстовые поля полностью удаляются из формы, когда они добавляются в диалог, поэтому я должен клонировать и вставлять их в форму перед отправкой, чтобы все значения флажка были представлены вместе с формой. Проблема в том, что флажки, добавленные обратно в форму, выглядят явно. Я просто пытаюсь сделать их невидимыми и все еще могу представить ценности.
Я подумал, что возможно, что-то вроде prepend() может быть решением, так что пользователь фактически не видит флажки, находясь полностью в нижней части формы, но все равно толкает элементы формы вниз. Поэтому я ищу способ добавления #states_container :input
в форму без видимого влияния на форму.
Код:
$('#submit_btn').click(function(e){
$("#form_submission").validate({});
if ($("#form_submission").valid()) {
$("#form_submission").append($('#states_container :input').clone());
$("form#form_submission").submit();
} else {
e.preventDefault();
alert("Please make sure all required information has been provided before submission.")
}
});
Создайте div
внизу формы. Стиль отображает значение none и присваивает ему уникальный идентификатор.
<div id="checkBoxes" style="display:none;"></div>
Когда вы идете клонировать флажки в диалоговом окне jQuery, установите их местоположение:
document.getElementById("checkBoxes").innerHTML = varWithCheckBoxes;
Это поместит все ваши флажки внутри невидимого div, которые не будут влиять на ваш макет и все равно будут представлены вместе с вашей формой. Кроме того, если возникает необходимость повторно заполнить этот список флажков для внесения изменений, вы можете просто захватить их из div и поместить их обратно в диалоговое окно.