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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Как по событию onclick для <select> симитировать нажатие <input type='submit'>
 
 автор: John_v   (08.06.2006 в 13:36)   письмо автору
 
 

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

Сама конструкция следующая:
<select id='click' name='subnet'>
<option>
<option>
</select>
<input type='submit' name='subnet'>

   
 
 автор: targa   (08.06.2006 в 14:07)   письмо автору
 
   для: John_v   (08.06.2006 в 13:36)
 

Примерно так:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Новая страница 1</title>
</head>

<body>

<form method="POST" action="obrab.php">
<select size="1" name="cbo1" style="width: 120px;" onchange="this.form.submit();">
<option selected value="1">первый</option>
<option value="2">второй</option>
<option value="3">третий</option>
</select>
</form>

</body>

</html>

   
 
 автор: John_v   (08.06.2006 в 14:12)   письмо автору
 
   для: targa   (08.06.2006 в 14:07)
 

Простите, я не сказал, что событие "onchange" использовать нельзя, поскольку тогда станет невозможна работа с клавиатуры!

   
 
 автор: John_v   (08.06.2006 в 15:01)   письмо автору
 
   для: John_v   (08.06.2006 в 14:12)
 

Всем большое спасибо
оказывается все просто:

<select name="subnet" multiple onclick="this.form.submit();">
<select>

хотя в документации событие "onclick" для <select> отсутствует, но на практике оказалось, что оно выполняется прекрасно!
Доверяй документации, но проверяй! :)

Тему можно закрывать.

   
 
 автор: 12345   (08.06.2006 в 17:13)   письмо автору
 
   для: John_v   (08.06.2006 в 15:01)
 

С клавиатуры ,кстати, onchange можно, но не будет работать выбор выбранной строки

   
 
 автор: targa   (08.06.2006 в 20:15)   письмо автору
 
   для: John_v   (08.06.2006 в 14:12)
 

Странно. Я на onchange вешал измение картинок (т.е. выбираешь тип тилефона и рядом маленькая иконка появляется), так срабатывало все нормально, но именно после того как выберешь значение.

   
 
 автор: John_v   (09.06.2006 в 07:33)   письмо автору
 
   для: targa   (08.06.2006 в 20:15)
 

Вы наверное картинки отображали посредством только JavaScript и DHTML, а мне нужно было переменную передать в PHP, который затем строит страничку заново. Поэтому при каждом событии "onchange" страничка перегружается, и уже с нужной информацией, конкретно, с выборкой списка хостов из директорий сервера LDAP выбранной подсети.
В данном случае лучшим вариантом решения получилось:
1. оставить кнопку INPUT SUBMIT для работы с клавиатурой.
2. добавить событие "onclick" для работы с мышкой, чтобы не дублировать выбор нажатием на кнопку.
3. совсем не использовать событие "onchange".

   
 
 автор: 12345   (09.06.2006 в 14:04)   письмо автору
 
   для: John_v   (09.06.2006 в 07:33)
 

Я имел в виду такую работу с клавиатурой, когда табами (клавишами "TAB") переключаешься на селект, потом кнопками вверх и вниз выбираешь значение. Тогда onclick не сработает, но тут можно использовать onchange, а лучше onkeyup (чтобы Опера работала), чтобы отследить нажатие enter для отправки формы.

   
 
 автор: John_v   (09.06.2006 в 15:04)   письмо автору
 
   для: 12345   (09.06.2006 в 14:04)
 

Еще раз.
"onchange" в этом случае использовать нельзя!
TAB переходишь в SELECT, а затем клавишами начинаешь выбирать нужное значение, тогда получается следующее:
как только Вы нажмете клавишу управления сразу сработает событие!
поэтому не сможете добраться даже до второй записи в SELECT, не говоря об остальных.
Всегда будет выбираться только первое значение!

   
Rambler's Top100
вверх

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