Имитация нажатия кнопки
Вечер добрый! Подскажите, имеется формочка такого вида:
<div class="item "> <div class="item-bg"> <div class="extravote-container"> <ul class="extravote-stars"> <li id="2266" class="current-rating"></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,1,225,54,'x',1);" class="one">1</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,2,225,54,'x',1);" class="two">2</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,3,225,54,'x',1);" class="three">3</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,4,225,54,'x',1);" class="four">4</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,5,225,54,'x',1);" class="five">5</a></li> </ul> </div> </div> <span id="extravote_2267_x" class="extravote-count"><small>( 54 Votes )</small></span> <form method="post" action=""><span class="content_rating"> <span class="content_vote"> Худший<input type="radio" alt="vote 1 star" name="user_rating" value="1" /> <input type="radio" alt="vote 2 star" name="user_rating" value="2" /> <input type="radio" alt="vote 3 star" name="user_rating" value="3" /> <input type="radio" alt="vote 4 star" name="user_rating" value="4" /> <input type="radio" alt="vote 5 star" name="user_rating" value="5" checked="checked" />Лучший <input class="button" type="submit" name="submit_vote" value="Рейтинг" /> <input type="hidden" name="task" value="vote" /> <input type="hidden" name="option" value="com_content" /> <input type="hidden" name="cid" value="2266" /> <input type="hidden" name="url" value="..." /> </span> </form> </div> Таких узлов множество, отличаются только id, необходимо имитировать клик или по ссылке <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,5,225,54,'x',1);" class="five">5</a></li>или по кнопке submit с нужным значением <input type="hidden" name="cid" value="2266" /> Никак не могу отобрать нужный элемент со страницы с помошью jquery и прицепить на него событие click(). Кто поможет, написать роботоспособный код, тому от меня бутылочка пива в знак благодарности. |
ehan, твоя вёрстка ППЦ! :D Но другого небыло...
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> $(document).ready(function (){ $('#b1').click(function (){ $('a.five[onclick='+"javascript:JVXVote(2267,5,225,54,'x',1);"+']').css('color','red'); }); $('#b2').click(function (){ $(':hidden[name="cid"][value="2266"]').parent().parent().parent().css('color','red'); }); }); </script> </head> <body> <div class="item "> <div class="item-bg"> <div class="extravote-container"> <ul class="extravote-stars"> <li id="2266" class="current-rating"></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,1,225,54,'x',1);" class="one">1</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,2,225,54,'x',1);" class="two">2</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,3,225,54,'x',1);" class="three">3</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,4,225,54,'x',1);" class="four">4</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,5,225,54,'x',1);" class="five">5</a></li> </ul> </div> </div> <span id="extravote_2267_x" class="extravote-count"><small>( 54 Votes )</small></span> <form method="post" action=""> <span class="content_rating"> <span class="content_vote"> Худший<input type="radio" alt="vote 1 star" name="user_rating" value="1" /> <input type="radio" alt="vote 2 star" name="user_rating" value="2" /> <input type="radio" alt="vote 3 star" name="user_rating" value="3" /> <input type="radio" alt="vote 4 star" name="user_rating" value="4" /> <input type="radio" alt="vote 5 star" name="user_rating" value="5" checked="checked" />Лучший <input class="button" type="submit" name="submit_vote" value="Рейтинг" /> <input type="hidden" name="task" value="vote" /> <input type="hidden" name="option" value="com_content" /> <input type="hidden" name="cid" value="2266" /> <input type="hidden" name="url" value="..." /> </span> </form> </div> <button id='b1'>Искать ссылку</button> <button id='b2'>Искать форму</button> </body> </html> |
Код ужасен, но он не мой ))) Сейчас по нажатию кнопки ищет ссылку, выборка действительно работает. Просто необходимо немножко другое, чтобы происходил автоматический клик при загрузке страницы. Возможно такое реализовать? Для внедрения скрипта на страницу использую greasemonkey.
|
Цитата:
|
Цитата:
|
Просто очень надо ))))
|
Не-не-не. :nono: И даже не уговаривай... :no:
|
Кстати первое условье отыскивает нужное условье:
$('#b1').click(function (){ $('a.five[onclick='+"javascript:JVXVote(2267,5,225,54,'x',1);"+']').css('color','red'); }); А второе условие: $('#b2').click(function (){ $(':hidden[name="cid"][value="2266"]').parent().parent().parent().css('color','red'); }); Не выделяет кнопку submit. |
Цитата:
|
Как вариант...
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> $(document).ready(function (){ $('#b1').click(function (){ $('a.five[onclick='+"javascript:JVXVote(2267,5,225,54,'x',1);"+']').click(); }); $('#b2').click(function (){ $(':hidden[name="cid"][value="2266"]').parent().parent().parent().get(0).submit(); }); }); function JVXVote() { alert('Go!'); }; </script> </head> <body> <div class="item "> <div class="item-bg"> <div class="extravote-container"> <ul class="extravote-stars"> <li id="2266" class="current-rating"></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,1,225,54,'x',1);" class="one">1</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,2,225,54,'x',1);" class="two">2</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,3,225,54,'x',1);" class="three">3</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,4,225,54,'x',1);" class="four">4</a></li> <li><a href="javascript:void(null)" onclick="javascript:JVXVote(2267,5,225,54,'x',1);" class="five">5</a></li> </ul> </div> </div> <span id="extravote_2267_x" class="extravote-count"><small>( 54 Votes )</small></span> <form method="post" action=""> <span class="content_rating"> <span class="content_vote"> Худший<input type="radio" alt="vote 1 star" name="user_rating" value="1" /> <input type="radio" alt="vote 2 star" name="user_rating" value="2" /> <input type="radio" alt="vote 3 star" name="user_rating" value="3" /> <input type="radio" alt="vote 4 star" name="user_rating" value="4" /> <input type="radio" alt="vote 5 star" name="user_rating" value="5" checked="checked" />Лучший <input class="button" type="submit" name="submit_vote" value="Рейтинг" /> <input type="hidden" name="task" value="vote" /> <input type="hidden" name="option" value="com_content" /> <input type="hidden" name="cid" value="2266" /> <input type="hidden" name="url" value="..." /> </span> </span> </form> </div> <button id='b1'>Кликнуть ссылку</button> <button id='b2'>Отправить форму</button> </body> </html> |
Часовой пояс GMT +3, время: 04:22. |