![]() |
Form+Enter и вопрос по голосавалке
1. На странице есть 2 формы. Заполняем одну, нажимаем enter, значение submit-буттона передаётся. Заполняем другую, нажимаем enter, передаётся только значение элементов формы, а значение субмит-буттона - нифига. Кто нибудь сталкивался? Злодей - ИЕ6+7, с Firefox и Opera всё ок.
2.Имеется голосование только для мемберов. Чтобы узнать кто проголосовал, сохраняем в БД пару user+за что голосовал. Есь ли более элегантное решение? Заранее спасибо |
aramis
1. HTML-код в студию 2. Я также голосовалку делал. Чем тебя этот вариант не устраивает? |
Цитата:
|
1. вот "неработаюший" код, правда вокруг ещё пару дивов
Код HTML:
<form name="passwort_request" action="" method="post" style="margin-top:10px;"> |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Вот пример http://ru.bir.ru/TEST/form_test.php , вот его сурс http://ru.bir.ru/TEST/form_test.txt |
Цитата:
Цитата:
|
Цитата:
|
извиняюсь, что так долго получилось.
вот "урезаный" код. проверил, в ие форма посередине субмит не передаёт. если будете пробовать, то в action надо будет название файла подставить, иначе ие GET string не показывает PHP код:
|
Залил страницу на Денвер, ввел "123", вывел var_dump($_REQUEST):
Код:
Array(2) { ["album_pass"]=> string(3) "123" ["submit_album_pass"]=> string(15) "Lass mich rein!" }Попробуй поменять имя переменной "submit_album_pass" на какое-нибудь другое |
Цитата:
to aramis экспериментально я вычислил, что если поставить здесь (во второй форме) второе поле ввода (input type=text), то все нормально начинает работать, теоретической базы под это подвести пока не могу, равно как и не могу дать решение проблемы, но теперь имеется направление, в котором нужно копать... а вот и теория, может чем-то поможет: Если в форме присутствует одно единственное поле ввода, и мы в него осуществили ввод и после этого нажали на кнопку клавиатуры Enter, то браузер сгенерирует событие submit. Перехватить такое событие и обработать можно только за счет программы обработки события submit в контейнере FORM, как это и сделано в примере. получается, что если одно поле ввода, то сразу генерируется событие, а если их несколько, то происходит как бы клик по кнопке, а та генерирует событие решить проблему двух форми кроссбраузерности может помочь использование hidden полей-идентификаторов форм |
В FireFox 2.0 все работает так, как должно... в IE 7.0 такой глюк есть... самый лучший выход - использовать
Код:
<input type="hidden" name="submit_album_pass" value="Lass mich rein!"> |
остановились на следующем:
так как второй input нам был ни к чему, надо было что-то невидимое. hidden свою роль не выполнил(субмит не передаётся). сделали обыкновенный input type="text" и поставили его на display:none. работает. всем спасибо :) |
| Часовой пояс GMT +4, время: 05:19. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.