Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как передать значение из select, в котором нет опции value

Сообщения:  [1-10]   [11-16] 

 
 автор: sim5   (14.09.2008 в 07:24)   письмо автору
 
   для: Drago   (14.09.2008 в 07:03)
 

Да нет, нормально поспал :) Все правильно, элементы типа чекбокс сулужат для выбора, и совсем не обязательно им указывать значения, если нам важно знать только их состояния. Этим я пользуюсь когда выгодно именно такое представление. Что касается списка, в основных браузерах да, будет передан текст опшена, но это верно для всех без исключения браузеров или нет? Я потому и за традиционную "пару".
Ну и хотелось бы узнать главное - зачем автору нужно именно так, текстовое значение. Ведь, если это для последующей обработки на сервере, то уж вы должны знать, что лучше, чем представление уникальным индексом, ничего нет (а особенно для связанных списков).

PS. Кстати о input type="file". Тут вообще надо быть осторожным. Можно передать файл нулевой длины, а часто на форуме встречаются примеры, когда закачку файла делают с использованием copy(), получая баги в конце концов.

  Ответить  
 
 автор: Drago   (14.09.2008 в 07:03)   письмо автору
 
   для: sim5   (14.09.2008 в 06:30)
 

sim5, вы наверное плохо выспались. Лично я, не имею привычки усложнять себе жизнь.

Да и речь была не о том. Я, лишь, чуть более, развернуто указал ислючения для этих выражений, которые утверждал PAT.

Форма ВСЕГДА передаёт пару значений NAME=VALUE всех элементов формы. 
Если у элемента нет значения у VALUE, то передаётся "пустая" пара: VALUE=''


С чем, конкретно, вы не согласны, не прибегая к отговоркам с маразмом?

  Ответить  
 
 автор: sim5   (14.09.2008 в 06:30)   письмо автору
 
   для: Drago   (14.09.2008 в 06:20)
 

Вот именно, занчение "on", на то они и служат эти элементы. А получать указатель в массиве на строку, это есть маразм, что прикажете - по указателю string с индексом, находить значение. Есть пара имя=значение, и не надо усложнять самому себе жизнь.

[поправлено модератором]

  Ответить  
 
 автор: Drago   (14.09.2008 в 06:20)   письмо автору
 
   для: sim5   (14.09.2008 в 05:56)
 

Можете сами убедиться.

<form method=post>
  <select name="select">
    <option>Item1</option>
    <option>Item2</option>
    <option>Item3</option>
    <option>Item4</option>
    <option>Item5</option>
  </select>
  <input type="submit" value="Send">
</form>

<?
if ($_POST){
    
var_dump($_POST);
}
?>


>А чекбоксы и радиокнопки могут не иметь значение, так они и служат для выбора, и выбранный всегда передаст свое состояние.
Разумеется. Если value у них не определен, то у выбранного checkbox или radio передастся текстовое значение "on". А у не выбранного, не передастся ничего. В том числе и NAME.

  Ответить  
 
 автор: sim5   (14.09.2008 в 05:56)   письмо автору
 
   для: Drago   (14.09.2008 в 05:51)
 

>Для элемента select, если атрибут value не определен, то в паре значений NAME=VALUE, вместо VALUE передается текст, указанный в option.

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

[поправлено модератором]

  Ответить  
 
 автор: Drago   (14.09.2008 в 05:51)   письмо автору
 
   для: PAT   (14.09.2008 в 05:30)
 

>Мною написано чётко: если НЕТ ЗНАЧЕНИЯ, то оно и не передаётся.

Вами написано по-другому:

Форма ВСЕГДА передаёт пару значений NAME=VALUE всех элементов формы.
Если у элемента нет значения у VALUE, то передаётся "пустая" пара: VALUE=''

это немного разные вещи.

>Вы хотите сказать, что существуют какие-то "исключения"?

Да. Если у элементов radio или checkbox не определен атрибут value, либо он является пустой строкой, то пара значений NAME=VALUE для них не передается, в принципе.
Для элемента select, если атрибут value не определен, то в паре значений NAME=VALUE, вместо VALUE передается текст, указанный в option.

  Ответить  
 
 автор: PAT   (14.09.2008 в 05:30)   письмо автору
 
   для: Drago   (14.09.2008 в 04:56)
 

В том числе и это.

Мною написано чётко: если НЕТ ЗНАЧЕНИЯ, то оно и не передаётся.

Вы хотите сказать, что существуют какие-то "исключения"?
Из кошелька, в котором НЕТ ДЕНЕГ, при каких-то "исключительных" обстоятельствах можно всё-таки вытащить червонец? :-)

  Ответить  
 
 автор: Drago   (14.09.2008 в 04:56)   письмо автору
 
   для: PAT   (14.09.2008 в 04:40)
 

Я надеюсь, вы не это

>Если у элемента нет значения у VALUE, то передаётся "пустая" пара: VALUE=''

Это не так. Исключения:
1.select
2.input type="file"
3.input type="checkbox"
4.input type="radio"

подразумеваете под глупостью?

  Ответить  
 
 автор: PAT   (14.09.2008 в 04:40)   письмо автору
 
   для: koshka   (13.09.2008 в 23:23)
 

[поправлено модератором]

  Ответить  
 
 автор: koshka   (13.09.2008 в 23:23)   письмо автору
 
   для: PAT   (13.09.2008 в 19:15)
 

>Форма ВСЕГДА передаёт пару значений NAME=VALUE всех элементов формы.

не всегда

>Если у элемента нет значения у VALUE, то передаётся "пустая" пара: VALUE=''

Это не так. Исключения:
1.select
2.input type="file"
3.input type="checkbox"
4.input type="radio"

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования