Модераторы: Illuminaty

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> <select> 
:(
    Опции темы
Gold Dragon
  Дата 4.5.2005, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 9
Всего: 71



Как мне можно сделать чтоб при открытии страницы поле было пустое и только принажатии менялось или на одно или на другое. Это вообще возможно
Код

<select>
<option value=0>женщина</option>
<option value=1>мужчина</option>
</select>



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
batigoal
Дата 4.5.2005, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: нет
Всего: 151



У меня это было как баг, когда я делал selectedIndex больше максимального.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
korob2001
Дата 4.5.2005, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



А добавить пустой option нельзя???


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
batigoal
Дата 4.5.2005, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: нет
Всего: 151



В IE нормально:
Код

<html>
<body onLoad="document.getElementById('list').selectedIndex=2">
<select id="list">
<option value=0>женщина</option>
<option value=1>мужчина</option>
</select>
</body>
</html>

Добавлено @ 15:28
А в FireFox'e - нет smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Gold Dragon
Дата 4.5.2005, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 9
Всего: 71



Хотелось бы чтоб сразу было пустое поле, но только два пункта... Может и правда нельзя


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
batigoal
Дата 4.5.2005, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: нет
Всего: 151



Во, а если подставить -1, то и в Мозилле работает! Но надо, конечно, проверить в всех браузерах и в разных версиях...


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Sardar
Дата 4.5.2005, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 6
Всего: 317



Lamer George зачем этот геморой с браузерами, предсавь выйдет следующая версия, что не позолит так писать smile
Цитата(Red @ 4.5.2005, 16:20)
Хотелось бы чтоб сразу было пустое поле, но только два пункта...

Ты не сказал почему. ИМХО лучше не извращаться и сделать одно пустое поле.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
dm9
Дата 4.5.2005, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 29
Всего: 137



Спецификация.

Цитата
If no OPTION element has the selected attribute set, user agent behavior for choosing which option is initially selected is undefined. Note. Since existing implementations handle this case differently, the current specification differs from RFC 1866 ([RFC1866] section 8.1.3), which states:
The initial state has the first option selected, unless a SELECTED attribute is present on any of the <OPTION> elements.

Since user agent behavior differs, authors should ensure that each menu includes a default pre-selected OPTION.


Без комментариев, как говорится.

Добавлено @ 22:53
http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1

PM MAIL ICQ   Вверх
Gold Dragon
Дата 5.5.2005, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 9
Всего: 71



dm9
Ну так это Да или Нет?

FireFox, IE6, Maxthon - отлично работают с selectedIndex=-1. То есть если передать значение без выбора, переменныя не создаётся.
Код

<html>
<body onLoad="document.getElementById('list').selectedIndex=-1">
<form action="_1.php" method="post">
<select id="list" name="list">
<option value=0>женщина</option>
<option value=1>мужчина</option>
</select>
<input type="submit">
</form>
<?php
if (isset($_POST['list'])){echo $_POST['list'];}
else {echo 'Не задано';}
?>
</body>
</html>



Цитата(Sardar @ 4.5.2005, 17:56)
Ты не сказал почему. ИМХО лучше не извращаться и сделать одно пустое поле.

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

То есть это для наглядности восприятия. Человек смотрит поле заполнено и из-за невнимательности пропутит форму и отправит по умолчанию, что может быть ошибкой. А так видно что поле пустое, оно сразу будет бросаться в глаза


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
dm9
Дата 5.5.2005, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 29
Всего: 137



В общем, согласно спецификации в каждом селекте должен быть option с selected="selected". Иные случаи отдаются на усмотрение браузера.

PM MAIL ICQ   Вверх
Gold Dragon
Дата 5.5.2005, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 9
Всего: 71



вот руссий перевод спецификации
Цитата
17.6.1 Предустановленные опции

Ноль или более опций могут быть предустановлены для пользователя. ПА должны определять, какая опция является предустановленной, следующим образом:

    * Если ни один элемент OPTION не имеет установленного атрибута selected, поведение ПА по определению предустановленной опции не определено.
      Примечание. Поскольку существующие программы обрабатывают эту ситуацию по-разному, данная спецификация отличается от RFC 1866 ([RFC1866] раздел 8.1.3):

          Первоначально выбранной является опция 1, если только отсутствует атрибут SELECTED или любой из элементов <OPTION>.

      Поскольку поведение ПА различно, авторы должны удостовериться, что каждое меню включает предустановленную опцию (OPTION)по умолчанию.
    * Если один из элементов OPTION имеет установленный атрибут selected, он должен быть предустановленным.
    * Если элемент SELECT имеет установленный атрибут multiple, и более чем один элемент OPTION имеет установленный атрибут selected, они все должны быть предустановлены.
    * Считается ошибкой, если более чем один элемент OPTION имеет установленный атрибут selected, и элемент SELECT не имеет установленного атрибута multiple. ПА могут по-разному обрабатывать такие ошибки, но не должны предустанавливать более чем одну опцию выбора.

Так что, если и будут браузеры правильно работать, то при отсутствии SELECT будет выбираться первая опция


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
dm9
Дата 5.5.2005, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 29
Всего: 137



Нет.

Согласно текущей спецификации нужно один элемент выделять селектом. Всё остальное неопределено. Вот это:

Цитата(Red @ 5.5.2005, 10:10)
Первоначально выбранной является опция 1, если только отсутствует атрибут SELECTED или любой из элементов <OPTION>.


- старый неактуальный стандарт.

Это сообщение отредактировал(а) dm9 - 5.5.2005, 09:16
PM MAIL ICQ   Вверх
Gold Dragon
Дата 5.5.2005, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 9
Всего: 71



жаль, но вроде везде работает и не глючит.
Пока оставлю selectedIndex=-1, именно то что мне и нужно было smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Sardar
Дата 5.5.2005, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 6
Всего: 317



А почему бы не ввести три опции:
- Выберите ваш пол
- Мужской
- Женский

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


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
dm9
Дата 5.5.2005, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 29
Всего: 137



Ага, именно так везде и делают, насколько я видел.

Можно ещё звёздочку красную поставить перед селектом, типа, обязательно к заполнению.

Опять же, ты не проверяешь под всякими там Конкверрорами, Сафари и прочее. Спецификаци следовать хорошо smile


PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.