Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2014, 11:43   #1
Kazik
Форумчанин
 
Регистрация: 27.05.2009
Сообщений: 192
Восклицание Нажатие на ссылку

Есть код html на странице.
Код HTML:
<div align="center" style="padding:7px;background-color: #d7d7d7" id="div_bhtml">
    <table border="0" cellpadding="2" cellspacing="2">
        <tbody>
            <tr>
                <td><a href="передача кучи параметров" onclik="this.href+='&amp;sub=584262';" name="7eaac27b" class="cs"><b>Что-то 2</b></a>
                </td>
            </tr>
        </tbody>
    </table>
</div>
Хочу нажать на ссылку - выполняю следующий скрипт:
Код:
var tPlot = function()
{
    var gTitle = document.title;
    if (gTitle == 'титл страницы') 
    {
        var element = main.document.getElementsByName('7eaac27b');
        var o = main.document.createEvent('MouseEvents');
        o.initEvent('click', true, true); 
        element.dispatchEvent(o);
    }
}

tPlot();
и ничего не происходит. совершенно ничего. в отладчике проверял - в цикл входит. Менять элементы страницы или передавать другие параметры ссылке нежелательно.
В html-коде функция "onklik" записана без ошибки. видимо другой обработчик у функции.
Так вот собственно вопрос - как нажать на ссылку. Что я делаю не так???

з.ы.
Код:
var element = main.document.getElementById('div_bhtml').getElementsByTagName('a')[0];
тоже пробовал...возвращало ошибку пустого getElementsByTagName.

Последний раз редактировалось Kazik; 20.10.2014 в 11:55.
Kazik вне форума Ответить с цитированием
Старый 21.10.2014, 13:25   #2
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Нажать на ссылку можно проще:
Код:
document.getElementsByTagName('a')[0].click();
Но это не поможет, если у вас этот массив пуст:
Код:
.getElementById('div_bhtml').getElementsByTagName('a')
Сначала надо сделать так, чтобы он не был пустым. =)
Возможно, вы вызываете функцию tPlot когда DOM ещё не построен?
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 21.10.2014, 17:32   #3
Kazik
Форумчанин
 
Регистрация: 27.05.2009
Сообщений: 192
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
Нажать на ссылку можно проще:
Код:
document.getElementsByTagName('a')[0].click();
не пройдет, так как ссылок на странице просто тьма.

Цитата:
Но это не поможет, если у вас этот массив пуст:
Код:
.getElementById('div_bhtml').getElementsByTagName('a')
вот этого я понять не могу. в коде страницы ведь видно, что массив имеет элемент.

Цитата:
Сначала надо сделать так, чтобы он не был пустым. =)
Возможно, вы вызываете функцию tPlot когда DOM ещё не построен?
можно конечно добавить проверку на полную загрузку страницы, но я уверен, что проблема не в этом))
Kazik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите чайнику-как вставить ссылку ссылку на партнерскую программу nony Помощь студентам 1 19.03.2014 20:48
Нажатие на ссылку каждый час EGORXX87 Помощь студентам 4 28.07.2012 14:51
Зашифровать ссылку eldar PHP 12 12.09.2009 16:06
Долгое нажатие клавиши в KeyDown как одно нажатие marina15056 Общие вопросы Delphi 7 16.08.2009 00:22
Как отследить нажатие на ссылку, без использования JS [Smarik] PHP 2 04.07.2009 15:27