@newhacke

Как отправить данные на сервер в формате json, с связанными списками?

Вообщем есть такая вот форма. По итогу которой надо отправлять на сервер именно содержимое селектов. То есть не atrr value а именно сам текст внутри option.

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

И все эти внутренние данные отправлять на сервер, для оправки на почту.....

Помогите пожалуйста решить эту проблему, я тысячи вариантов перепробовал и в каждом с что то не работало. в случае если оставить так как есть, то он отправляет тупо 1.2.3.4.5.6 содержание value, А иногда отправляет вот такие вот штуки Ва&shcy))

form#msform(method="post" action="")
                .select
                    select#country_id.StyleSelectBox(name="name")
                        option(value='0') vasya
                        option(value='1')petya                       
                        option(value='3') tasha       
                        option(value='4') dasha       
                        option(value='5') sasha       
                        option(value='6') masha       
                        option(value='7') vashsa       
                        option(value='8') anton
                        option(value='9') baton
                .select
                    select#region_id.StyleSelectBox(disabled='disabled' name='data')


<script>

var all_regions = [];

    (function () {
        all_regions[0] = ["19.06.2020 - 23.06.2020"];
        all_regions[1] = ["14.08.2020 - 21.08.2020"];
        all_regions[2] = ["24.08.2020 - 31.08.2020"];
        all_regions[3] = ["21.10.2020 - 04.11.2020"];
        all_regions[4] = ["03.10.2020 - 18.10.2020"];
        all_regions[6] = ["10.11.2020 - 28.11.2020"];
        all_regions[7] = ["01.07.2020 - 05.07.2020"];
        all_regions[8] = ["08.07.2020 - 12.07.2020"];
        all_regions[9] = ["06.07.2020 - 08.07.2020"];


        var country_id = document.getElementById("country_id");

        country_id.onchange = function () {
            region_id.disabled = false;
            region_id.innerHTML = "<option value='0'> Выберите дату </option>";
            var myregion = this.value - 1;

            if (myregion !== -1) {
                for (var i = 0; i < all_regions[myregion].length; i++) {
                    region_id.innerHTML += "<option value=\"" + (i + 1) + "\">" + all_regions[myregion][i] + "</option>";
                }
            } else {
                region_id.disabled = true;
                city_id.disabled = true;
            }
        };
    })();

$("#sendSubmit").click(function (e) {
            e.preventDefault()
            sendForm()
        }
    )

function sendForm() {

    $.ajax({
        url:     'form.php', 
        type:     "POST", 
        dataType: "html", 
        data: $('#msform').serialize(),  
        success: function(response) { 
            result = $.parseJSON(response);
            console.log(result)
            },
        error: function(response) { 
            console.log('oshibki')
        }
    });
}


<script>
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
@zkrvndm
Софт для автоматизации
Просто напишите свою функцию для сериализации (для сбора данных с формы). Не понимаю, в чём проблема.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
27 мая 2024, в 12:26
30000 руб./за проект
27 мая 2024, в 12:25
5000 руб./за проект
27 мая 2024, в 11:51
100000 руб./за проект