Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > значение с html формы select


Автор: studentigor 11.5.2010, 16:24
Доброго времени суток!!!
Код

<select name="adres">
    <option VALUE = "">Все Разделы</option>
    <option VALUE = "value1">Адрес1</option>
    <option VALUE = "value2">Адрес2</option>
    </select>

Как мне вытянуть значение Адрес1. 
Код

$_POST['adres']

- сюда попадет value1 или value2, а мне нужно именно текст. Тоесть Адрес1 или Адрес2

Автор: NewDima 11.5.2010, 16:38
Сделайте так, чтобы в атрибутах value стояло именно то, что вам нужно. Вот и все решение

Автор: WebAngel 11.5.2010, 17:39
или же вообще убрать value

Автор: NewDima 11.5.2010, 18:01
Кто минусует WebAngel?
http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#edef-OPTION, http://dev.w3.org/html5/spec/forms.html#attr-option-value - говорят, что если атрибут value не указан, используется текст внутри самого тега.
xhtml1.0:
Код

<!ATTLIST option
  %attrs;
  selected    (selected)     #IMPLIED
  disabled    (disabled)     #IMPLIED
  label       %Text;         #IMPLIED
  value       CDATA          #IMPLIED
  >

Как видно, атрибут value и здесь является не обязательным (implied).
Так что модно и так

Добавлено через 1 минуту и 32 секунды
можно  smile 

Автор: WebAngel 11.5.2010, 18:03
Что за минус? Читаем документацию, если нет value, то оно заполняется содержимым элемента. Т.е. ТС получит именно то, что хотел.

Автор: SelenIT 11.5.2010, 18:29
В DTD XHTML1.0 можно было и не смотреть - он всего лишь "XML Reformulation of HTML4.01", накладывает ограничения на синтаксис, но не на использование элементов. Так что если там можно, будет можно и тут - только теги закрывать стало обязательным.

Но, имхо, лучше всё-таки брать и текст, и его идентификатор (в качестве value) из общего хранилища. При генерации страницы с формой они откуда берутся? Из базы небось? Так кто мешает брать их оттуда же при ее приеме?

Автор: NewDima 11.5.2010, 18:35
SelenIT, для наглядности))

Автор: studentigor 11.5.2010, 21:46


Цитата

При генерации страницы с формой они откуда берутся? Из базы небось? Так кто мешает брать их оттуда же при ее приеме?


Так и есть. Я просто думал чтоб не писать ещё один запрос, вытянуть текст Адрес1 или Адрес2 из формы select
Ну если нельзя - значит нельзя. Буду тянуть из базы

Всем спасибо за участие!!!




















Автор: bars80080 11.5.2010, 22:46
Цитата(studentigor @  11.5.2010,  21:46 Найти цитируемый пост)
Ну если нельзя - значит нельзя. Буду тянуть из базы

да вопрос не в том, что нельзя.
можно.
но не нужно.
не нужно по той простой причине, что пользователь туда может напихерить что-угодно. данные приходят от клиента, какие бы защиты на клиенте не пришли, всё равно их надо проверять на сервере. если данные для селекта берутся из базы, то их и надо брать оттуда, а не после того как они прошли через руки пользователя. от него должен прийти только id - чистое число и всё

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)