Как отправить не установленный флажок

Если флажок не установлен, нажатие на кнопку отправки формы не приводит к отправке данных.

Некоторые флажки могут не присутствовать в форме в зависимости от выбранных пользователем полей формы. Поэтому у контроллера submit нет возможности определить, присутствовал ли не отмеченный флажок в форме или нет.

Если база данных содержит true для этого столбца, это свойство не обновляется до false. Имя флажка совпадает с именем столбца boolean базы данных.

Как заставить форму отправить чекбоксы, которые находятся в не отмеченном состоянии, или любая другая идея, чтобы установить значение в базе данных в false, если флажок не установлен, но не изменять значение в базе данных, если флажок отсутствует в форме?

Используются jquery, jqueryui, asp.net 2 mvc

12
задан Spikolynn 28 June 2017 в 07:13
поделиться

1 ответ

Моя форма создается динамично, так слияние дополнительных скрытых полей было бы вполне сложным. Для меня это работает путем временного изменения типа поля в отправлять обработчике формы.

myForm.addEventHandler("submit", ev => {
    for (let oField of ev.target.elements) {
        if (oField.nodeName.toUpperCase() === "INPUT" &&
                oField.type === "checkbox" &&
                ! oField.checked) {
            oField.type = "text";    // input type text will be sent
                         // After submitting, reset type to checkbox
            oReq.addEventListener("loadstart",
                        () => { oField.type = "checkbox"; });
        }
    }
});

Это чувствует себя немного грязным, но работает на мой.

0
ответ дан 2 December 2019 в 07:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: