Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> submit по нажатию "Enter", Submit-focus у разных браузеров. 
V
    Опции темы
Burrr
Дата 3.3.2006, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



У меня есть форма с 2-мя последовательно идущими клавишами type=submit:
Код

<input type=submit value="Сохранить">&nbsp;&nbsp;<input name=look_changes type=submit value="Предварительный просмотр">

При нажатии клавиши Enter в IE и FF срабатывает первый сабмит ("Сохранить"), а в Опере второй ("Предварительный просмотр").
Как сделать так, чтоб во всех браузерах всегда срабатывал только один сабмит по Ентеру (в данном случае мне нужен второй сабмит).
Если можно, то без отлова onPressKey.
smile


--------------------
PM MAIL ICQ   Вверх
12345c
Дата 3.3.2006, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



 
Код
<form action=JsPrimeryCode-68a.php method=get><input name=intext value=eec>
<input name=Sohran type=submit value="Сохранить">&nbsp;&nbsp;<input name=look_changes type=submit value="Предварительный просмотр">
JsPrimeryCode-68a.php:
Код
<?    print_r  ($_GET);?>
Скрипт для демо - http://js2.ru/example/JsPrimeryCode-68a.htm

Что видим? Я вижу иную картину.
В FF1.06, Op7.54: Array ( [intext] => eec [Sohran] => Сохранить )
, в IE: Array ( [intext] => eec )

 по Ентеру. И передача имени кнопки, если щёлкнули по ней. В какой версии Оперы наблюдалась передача второй кнопки? 

Это сообщение отредактировал(а) 12345c - 3.3.2008, 17:07


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Burrr
Дата 4.3.2006, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Цитата

В какой версии Оперы наблюдалась передача второй кнопки?

В Опере 7.23.

Так как всё-таки организовать сабмит по нажатию Enter на "Предварительный просмотр"?



--------------------
PM MAIL ICQ   Вверх
12345c
Дата 4.3.2006, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Поставить его Input раньше, чем первый инпут по коду страницы. Проверьте этот код в Опере 7.23 - может, он тоже станет корректно работать? Инпуты теперь ничем не различаются, только положением в коде. Если тоже вызовется второй, будет значить, что старая Опера выбирает последний из инпутов-сабмитов, когда все остальные наоборот. Если так, тогда для старых Опер поменяйте положение кнопок в коде, и обойдётесь без перехвата нажатий кнопки.
PM WWW   Вверх
Burrr
Дата 5.3.2006, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



К сожалению, положение кнопок менять нельзя, т-к это нарушает некоторые принципы привычного юзабилити (превью идет после сохранить), а те кому предназначен скрипт не согласятся на такое. smile


--------------------
PM MAIL ICQ   Вверх
Ciber SLasH
Дата 5.3.2006, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 24
Всего: 67



2Burrr:
Оно:
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content='text/html; charset=windows-1251'>
<script type='text/javascript'>
var flag = false;
</script>
</head>

<body>
<form method="POST" onSubmit='if (flag) {alert("Юзер нажал на кнопарь \"Отправить\" !!"); flag = false} return false'>
<input type="text">
<input type="submit" value="Предпросмотр"><input type="submit" onClick='flag = true' value="Отправить">
</form>
</body>
</html>

PM   Вверх
12345c
Дата 5.3.2006, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Burr: я предлагаю в коде заменить положение, а не на странице.
PM WWW   Вверх
Burrr
Дата 6.3.2006, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Ciber SLasH, 12345c спасибо за помощь!
Задача решена.


--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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