За последние 24 часа нас посетили 54194 программиста и 1780 роботов. Сейчас ищут 1084 программиста ...

Элемент <select> не передается в масив $_POST[] после submit

Тема в разделе "Прочие вопросы по PHP", создана пользователем shurik_shink, 5 июн 2015.

  1. shurik_shink

    shurik_shink Новичок

    С нами с:
    17 май 2015
    Сообщения:
    79
    Симпатии:
    0
    На форму помещен элемент <select> который после операции submit и обновлении формы не передается в масив $_POST, то есть $_POST["dbnm"] не существует.

    Код (PHP):
    1. <form method="post" >
    2. ...
    3. ...
    4. <select id="dblist" name="dbnm" class="dbname" onchange="fget_list_tables(this.options[this.selectedIndex].value)">
    5. </select><br>
    6. .. 
    Особенностью является то, что этот выпадающий список заполняется значениями через jquery после выполнения Ajax запроса. Если на эту же форму поместить список со сразу же указанными значениями <options>, то такой <select> передается в $_POST правильно без проблем

    например, в таком случае после обновления формы $_POST["JOBS"] = выбранное значение
    Код (PHP):
    1. <SELECT name="JOBS" >
    2. <OPTION>programmer</OPTION>
    3. <OPTION>effective manager</OPTION>
    4. <OPTION>accountant</OPTION>
    5. </SELECT> 
    Необходимость получить выбранный элемент списка связана с тем что при обновлении страницы надо сразу установить старое значение, что бы пользователь после каждого обновления страницы не выбирал его заново.

    Подскажите кто знает - с чем связана проблема или как по другому можно установить значение списка после обновления страницы?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Re: Элемент <select> не передается в масив $_POST[] после su

    Надо value атрибут к тегу option прикрутить http://htmlbook.ru/html/option
     
  3. shurik_shink

    shurik_shink Новичок

    С нами с:
    17 май 2015
    Сообщения:
    79
    Симпатии:
    0
    Прикручен, вот результат Ajax запроса
    Код (PHP):
    1. <option value='information_schema'>information_schema</option>
    2. <option value='b1'>b1</option>
    3. <option value='mysql'>mysql</option>
    4. <option value='performance_schema'>performance_schema</option>
    5. <option value='sakila'>sakila</option>
    6. <option value='test'>test</option>
    7. <option value='world'>world</option> 
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Re: Элемент <select> не передается в масив $_POST[] после su

    Ты с помощью Ajax отправляешь данные и ждёшь JOBS?
     
  5. shurik_shink

    shurik_shink Новичок

    С нами с:
    17 май 2015
    Сообщения:
    79
    Симпатии:
    0
    Re: Элемент <select> не передается в масив $_POST[] после su

    Нашел причину.
    Продебажил через Firebug - запрос Post к серверу при обновлении страницы не посылался. Информация в других полях заполнялась из переменных определенных еще до обновления страницы, что и ввело меня в заблуждение.


    Добавлено спустя 2 минуты 24 секунды:
    Re: Элемент <select> не передается в масив $_POST[] после submit
    Напоследок, может кто знает - как сделать так что бы при обновлении страницы не пропадал выбор пользователя в выпадающем списке если он формируется jquery по результату Ajax запроса?
     
  6. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Re: Элемент <select> не передается в масив $_POST[] после su

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