отправить значение из <option> на сервер, не нужно выбирать

0

У меня есть пример:

<select id="to_select_list" multiple="multiple" name="to_select_list">
    <option value="winder">Winter</option>
    <option value="summer">Summer</option>
    <option value="rainy">Rainy</option>
    <option value="Spring">Spring</option>
</select>

И я хочу, когда я нажму на submit, все значение параметра будет отправлено на сервер через "to_select_list", но не нужно выбирать (все) те.

Разрешить:

Я понял, как решить эту проблему по ссылке

Пример:

Javascript:

<script language="javascript" type="text/javascript">
    var selObj2 = document.getElementById(selStr2);
    for (var i = 0; i < selObj2.options.length; i++) {
        selObj2.options[i].selected = true;
    }
</script>

HTML:

<form action="tutorial007.html" method="get" onsubmit="selectAllOptions('sel2');">
Теги:
submit
html-select

2 ответа

0

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

<input type="hidden" name="to_select_list" value="winder">
<input type="hidden" name="to_select_list" value="summer">
<input type="hidden" name="to_select_list" value="rainy">
<input type="hidden" name="to_select_list" value="Spring">
  • 0
    Спасибо за вашу помощь, но я использовал <select>, потому что мне нужно 2 списка и пользователи могут перемещаться между ними. Если я использую <input>, я не буду показывать список :(
  • 0
    @KenPlus - выбор нескольких уже имеет средства для выбора нескольких элементов, зачем изобретать другой интерфейс? Отдельные элементы не предназначены для такой работы! (Решение остается прежним, хотя, когда вы копируете выбранный элемент в другой выбор, просто создайте скрытый ввод с помощью JS)
Показать ещё 1 комментарий
0

Попробуйте это с помощью JQuery

 var optVals=[];
   $("#to_select_list option").each(function(){
       optVals.push( $(this).attr('value'));
    });

без JQuery вы можете использовать это

var option = document.getElementById('to_select_list').options;

а потом

var val0 = option[0].value;

также вы можете отправить массив на сервер AJAX, как это

$.ajax({
        url: 'your url',
        type: 'POST',
        data: {optionValues: optVals },
        success: function (data) {

        },
        Error: function () {

        }

    });
  • 0
    Почему вы утверждаете, что данные POST - это JSON, когда (а) вы не закодировали данные как JSON и (б) вы делаете запрос GET? Кто-нибудь, почему вы в первую очередь вовлекаете Ajax в это? И почему вы устанавливаете async в false , это просто худшая практика!
  • 0
    Это всего лишь пример.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню