Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/72: Рейтинг темы: голосов - 72, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 76

Инициировать нажатие кнопки формы

25.03.2009, 09:21. Показов 15462. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите,как инициировать нажатие определенной кнопки на странице, не нажимая ее непосредственно.

Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.03.2009, 09:21
Ответы с готовыми решениями:

Как инициировать нажатие на link программно из другого окна?
как инициировать нажатие на link <A HREF='..asp' TARGET='right'><A> програмно из другого окна

Автокликер (заполнение формы + нажатие кнопки)
Нужно сделать простой автокликер, то есть при нажатии на иконку расширения открывается, например, поисковик "ya.ru", следует ввод...

На экране расположены текст и две кнопки с надписями "красный" и "зеленый". Нажатие на эти кнопки приводит к соответствующему изменению цвета текста.
На экране расположены текст и две кнопки с надписями "красный" и "зеленый". Нажатие на эти кнопки приводит к соответствующему изменению...

30
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
25.03.2009, 10:24
[button_id].click();

где button_id - идентификатор нужного тэга

Кстати, так можно кликнуть не только по кнопке, но по любому объекту на странице

Удачи
0
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 76
25.03.2009, 11:38  [ТС]
Спасибо за совет!
Только не совсем получается.Идея такая: кликаю по ссылке,которая активирует функцию,где прописано как раз id_1.click.До этого присваиваю кнопке id='id_1'.Но возникает ошибка, что 'id_1' не определено.

Как быть? Заранее спасибо.
0
Maksim
25.03.2009, 12:36
Пример покажи...
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
25.03.2009, 13:10
Тогда так:

document.getElementById('id_1').click();

Действительно, обращение к элементу напрямую не всегда работает, но через getElementById ВСЕГДА, если только id элемента уникален
0
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
25.03.2009, 13:14
Кстати, а как ты присваиваешь id кнопке? Непосредственно заданием атрибута в тэге или программно?

Действительно, покажи код (сам тэг button и место, где программно кликаешь)
0
0 / 0 / 0
Регистрация: 03.10.2007
Сообщений: 76
25.03.2009, 15:15  [ТС]
ID присваиваю в атрибуте.Вот есть две формы (2 голосовалки):

<form action='http://voter.land.ru/view.php?pl=22129' method='post'>
<input type='hidden' name='action' value='vote'>
//вопрос и варианты ответов
<input type='submit' id='bt' value='Голосовать'>//сама кнопка
</form>

<form action='http://voter.land.ru/view.php?pl=22131' method='post'>
<input type='hidden' name='action' value='vote'>
//вопрос и варианты ответов
<input type='submit' value='Голосовать'>//сама кнопка
</form>

Есть скрипт:

<SCRIPT LANGUAGE='JavaScript'>
function dater()
{
document.getElementById('bt').click();
}
</SCRIPT>

И есть линк,который запускает функцию:
<p><A HREF='#' onClick='dater()'>LINK

Вот хотелось бы,чтобы пользователь ответил на 2 вопроса нажатием одной кнопки (ссылки) и данные этих форм отправились по соответствующим адресам для учета.

Спасибо за понимание!
0
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
25.03.2009, 16:42
Так бы сразу и сказал! ))

Не запуская скрипта скажу со 100% уверенностью, что броузер ругается не на на элемент с id='bt', а на неизвестный метод dater()

Вставь в скрипт вне тела функции указатель на эту функцию, например так:
Code
1
2
3
4
dater = dater_fun;
function dater_fun()
...
далее по тексту
И вызывай эту функцию через определенный указатель, т.е. как dater()

Надеюсь, понятно объяснил

Удачи
0
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
25.03.2009, 17:08
А вообще-то в таких случаях нужно не нажатие кнопки имитировать, а просто делать сабмит

form1.submit();
form2.submit();

Хотя сабмит двух форм сразу это тоже левое решение. На какую страницу должно перекинуть юзера после этого: на результаты первого опроса или второго? Или как фишка ляжет?
0
Maksim
25.03.2009, 17:36
Ну можно же делать submit форм в отдельные фреймы, или вообще в новые окна, в которых выводить сообщение благодарности, или что-то еще, а через несколько секунд окно закрывать...

А вообще, меня тоже давно интересует вопрос, можно ли делать submit форм в никуда, то есть не открывать никакое окно, однако посылать данные на сервер...
Пока, кроме использования скрытых фреймов или использования объектов типа XMLHttpRequest, я ни до чего не додумался...
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
25.03.2009, 18:23
>> Ну можно же делать submit форм в отдельные фреймы, или вообще в новые окна, в которых выводить сообщение благодарности, или что-то еще, а через несколько секунд окно закрывать...

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

Но открывать более одного попап-окна - слишком лажово выглядит.
Для более наглядного примера: что если челу надо таким образом сабмитить не 2 формы, а 10? 10 попап-окон даже для порносайта слишком )

>> можно ли делать submit форм в никуда, то есть не открывать никакое окно, однако посылать данные на сервер...
Пока, кроме использования скрытых фреймов или использования объектов типа XMLHttpRequest, я ни до чего не додумался...

Насчет сабмитить не пробовал, а вот вызвать обработчик на сервере без перезагрузки страницы можно весьма незатейливым способом: создать невидимый объект IMG, у которого по нужному событию изменить src на требуемый URL, параметры передаются через GET. Как сделать то же самое через POST пока не знаю.
Ради справедливости замечу, что эта идея придумана не мною

Кстати, возьмите на заметку, иначе когда-нибудь придется не один час безуспешно раскидывать мозгами: если у объекта IMG не указан src, то браузер в качестве src грузит дефолтную страницу. В итоге на сайтах с поддержкой сессий или основанных на XML могут творится невообразимые вещи.
0
Maksim
25.03.2009, 18:38
Вообще, если чел сабмитит десять форм пользуясь системами голосований типа http://voter.land.ru, то это больной чел...

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

Тем не менее, скрытые iframes проблему тоже решают...

По поводу рисунков, скриптов, и других элементов с querystring в добавление к source я знаю... Вопрос все-таки в том, как сделать POST...
Пока известные решения - только IFRAME и Msxml2.XMLHTTP....
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
25.03.2009, 18:58
Поностью согласен, именно поэтому и написал, что сабмитить несколько форм одновременно - это лажа.

По поводу сабмита в никуда видимо единственно правильное решение через XMLHTTP, т.к. скрытые фреймы - это все та же лажа.

Думаю, что поскольку форма задумывалась как средство общения между клиентом и сервером, разработчикам протокола http в голову не пришло, что клиент захочет только послать данные без получения подтверждения.

Вот и приходится извращаться
0
Maksim
25.03.2009, 19:05
скрытый IFRAME лучше использовать из-за проблем совместимости браузеров, будь она неладна...

А извращаться приходится вовсе не по вине разработчиков http...

Это создатели браузеров могли бы предусмотреть возможность иметь 'нулевое' окно... К примеру делать формы с TARGET=NULL, VOID или что-то подобное... Идея понятна, я думаю...
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
26.03.2009, 10:53
Если один из разработчиков браузера добавит такую фичу, а остальные нет, то это только добавит тебе головной боли

Вообще-то по хорошему браузер должен уметь грамотно работать с общепринятыми спецификациями (HTML, XML, CSS и т. п.) и не добавлять никаких приблуд, равно как и не сокращать их.

Так что, тогда уж добавлять TARGET=NULL для формы нужно в спецификацию HTML, хотя кому вообще сейчас это интересно развивать HTML...
0
Maksim
26.03.2009, 11:33
HTML это язык разметки для БРАУЗЕРА...
Если в сецификацию HTML добавить изменение, браузеры это изменение поддерживать не начнут....
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
26.03.2009, 18:44
вообще-то это и ежу понятно

я имел в виду другое: все должно строиться на основе спецификаций, будет спецификация - будет поддержка

а развитие HTML никому не нужно, т.к. есть задачи поинтересней, возможностей отображения документа и так выше крыши, а интерфейсные приблуды в HTML - это анахронизм, их заменят готовые программные компоненты (что это будет COM-объект или что-то еще не суть важно)

документ должен представляться в виде XML, а HTML использоваться только для отображения (и то это приемлимое решение только для статичных документов, для интерактивности следует использовать готовые стандартизированные компоненты)
0
Archy
18.04.2009, 22:32
Хочу программно нажимать кнопку отправки формы (submit), но что-то не выходит ( использую методы имя_кнопки.click() или имя_кнопки.submit() )
0 / 0 / 0
Регистрация: 14.03.2008
Сообщений: 39
19.04.2009, 11:03
>> Хочу программно нажимать кнопку отправки формы (submit), но что-то не выходит ( использую методы имя_кнопки.click() или имя_кнопки.submit() )

Либо кнопка должна иметь тип submit, либо имя_формы.submit() (второе правильней)
0
Archy
22.04.2009, 20:42
Большое спасибо! имя_формы.submit() работает.
Интересно как быть с простой кнопкой, выводящей какое-либо сообщение
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.04.2009, 20:42
Помогаю со студенческими работами здесь

Условие нажатие кнопки
Как написать условие нажатие кнопки мыши в скрипте, то есть так: Если нажат левая кнопка мыши, то ... Мне надо чтобы, если нажата кнопка,...

Нажатие кнопки на сайте
Вообщем, есть сайт, на котором каждые 30 секунд крутится рулетка, и мне надо, чтобы на 5 секунде нажималась одна кнопка. Я уже все...

Автоматическое нажатие кнопки
Здравствуйте! незнаю в эту ветку задал вопрос или нет! Ситуация такая, есть скрипт(макрос) который начиная работать заходит на сайт и на...

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

Нажатие кнопки в браузере Chrome
Всем, добрый день. Занимаюсь разработкой под Андроид и понадобилось сделать вставку Javascript. Мне необходимо нажать на кнопку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru