13.12.2011, 22:59
|
Новичок на форуме
|
|
Регистрация: 13.12.2011
Сообщений: 4
|
|
Имитация нажатия кнопки
Вечер добрый! Подскажите, имеется формочка такого вида:
<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(). Кто поможет, написать роботоспособный код, тому от меня бутылочка пива в знак благодарности.
|
|
14.12.2011, 10:05
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
ehan, твоя вёрстка ППЦ! Но другого небыло...
<!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>
|
|
14.12.2011, 11:28
|
Новичок на форуме
|
|
Регистрация: 13.12.2011
Сообщений: 4
|
|
Код ужасен, но он не мой ))) Сейчас по нажатию кнопки ищет ссылку, выборка действительно работает. Просто необходимо немножко другое, чтобы происходил автоматический клик при загрузке страницы. Возможно такое реализовать? Для внедрения скрипта на страницу использую greasemonkey.
|
|
14.12.2011, 11:47
|
Лаборант :-)
|
|
Регистрация: 08.11.2011
Сообщений: 806
|
|
Сообщение от ehan
|
чтобы происходил автоматический клик
|
может быть это подойдет http://api.jquery.com/trigger/ ?
|
|
14.12.2011, 13:13
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
Сообщение от ehan
|
Возможно такое реализовать?
|
Я не сторонник таких действий...
|
|
14.12.2011, 13:25
|
Новичок на форуме
|
|
Регистрация: 13.12.2011
Сообщений: 4
|
|
Просто очень надо ))))
|
|
14.12.2011, 13:42
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
Не-не-не. И даже не уговаривай...
|
|
14.12.2011, 13:47
|
Новичок на форуме
|
|
Регистрация: 13.12.2011
Сообщений: 4
|
|
Кстати первое условье отыскивает нужное условье:
$('#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.
|
|
14.12.2011, 13:56
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
Сообщение от ehan
|
Не выделяет кнопку submit.
|
А её не нужно выделять... достаточно просто запустить метод submit() той формы...
Последний раз редактировалось ksa, 14.12.2011 в 14:08.
|
|
14.12.2011, 14:07
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,205
|
|
Как вариант...
<!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>
|
|
|
|