Сохранить прогресс – пропустить обязательные поляJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Сохранить прогресс – пропустить обязательные поля

Сообщение Anonymous »

У меня есть форма, которая содержит различные типы входных данных, включая несколько переключателей с обязательным атрибутом. Я пытаюсь добавить ссылку «Сохранить ход выполнения», которая при нажатии будет переопределять необходимые атрибуты (путем выбора варианта) и отправлять форму. Чтобы это работало, я добавил ко всем переключателям еще один вариант выбора (Н/Д). Этот выбор делается невидимым с помощью jquery. При нажатии на ссылку отправки предполагается выбрать все переключатели, у которых нет выбора, и установить для них значение «Н/Д», а затем отправить форму. При возврате в форму (при загрузке страницы) все переключатели с выбранным значением «Н/Д» становятся невыбранными.
По крайней мере, так оно и должно работать. На самом деле происходит то, что все переключатели в конечном итоге становятся невыбранными. Даже те, у которых были выбраны варианты, отличные от «Н/Д».
Ниже приведен код, который я сейчас использую:

Код: Выделить всё

// On page load, hide the 'N/A' choice for all radio buttons
$('input[type=radio][value="N/A"]').hide().parent().hide();

// On page load, uncheck/unset all radio buttons that have 'N/A' selected
$('input[type=radio][value="N/A"]').each(function() {
//var selectedValue = $('input[name="survey"]:checked').val();
//$(this).val("");
$(this).prop("checked",false);

});

// When 'quick save' button is clicked, set value of all unslected radio buttons to 'N/A' (to override required attribute) and submit.
$(document).on('click', '.qksv', function() {
$('input[type=radio]:not(:checked)').each(function() {
//if(this.checked == false) {
$(this).val("N/A");
$(this).prop('checked',true);
//$(this).attr("required", false);
//}
});
$(this).submit();
});
HTML:
Ниже представлена ​​одна из радиогрупп. В такой форме их девять и они содержат одни и те же данные. Только имена другие. Их имена: радио_1, радио_2, радио_3 и т. д.

Код: Выделить всё


Next activity?



Another ticket




Travel home




N/A






Что я делаю не так? Я получаю те же результаты, даже когда закомментирую те два раздела кода, которые активируются при загрузке страницы.
Я не контролирую HTML, поэтому его нельзя изменить.
Я не могу контролировать HTML, поэтому его нельзя изменить.
Я не могу контролировать HTML.
p>
Я не могу контролировать HTML. Он генерируется. Форма состоит из нескольких шагов (страниц) с кнопками «Далее» и «Предыдущий». Я попытался добавить код в ссылку «Сохранить прогресс», чтобы удалить необходимые атрибуты перед отправкой, но мне тоже не удалось заставить это работать. Эти радиополя являются обязательными, поскольку, когда в какой-либо из радиогрупп выбрано «Путешествие домой», несколько полей исходной формы скрываются и пользователь переходит к последнему шагу формы. Установка значения/опции по умолчанию для всех переключателей лишает смысла наличие шагов. Доступ к форме будет осуществляться несколько раз в течение дня. Пользователи могут редактировать свои материалы, поскольку сервер заполняет поля ранее сохраненными данными. Дополнительные данные будут добавляться при каждом доступе к ним. Последний этап — проверка и подача. Ссылка «Сохранить прогресс» полезна, поскольку она отправляет текущие данные, разрешает пустые поля и пропускает этап проверки. Это сэкономит много времени и облегчит использование формы.

Подробнее здесь: https://stackoverflow.com/questions/791 ... red-fields
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»