Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.12.2011, 22:59
Новичок на форуме
Отправить личное сообщение для ehan Посмотреть профиль Найти все сообщения от ehan
 
Регистрация: 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" />Лучший&nbsp;
	<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(). Кто поможет, написать роботоспособный код, тому от меня бутылочка пива в знак благодарности.
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2011, 10:05
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

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" />Лучший&nbsp;
	<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>
Ответить с цитированием
  #3 (permalink)  
Старый 14.12.2011, 11:28
Новичок на форуме
Отправить личное сообщение для ehan Посмотреть профиль Найти все сообщения от ehan
 
Регистрация: 13.12.2011
Сообщений: 4

Код ужасен, но он не мой ))) Сейчас по нажатию кнопки ищет ссылку, выборка действительно работает. Просто необходимо немножко другое, чтобы происходил автоматический клик при загрузке страницы. Возможно такое реализовать? Для внедрения скрипта на страницу использую greasemonkey.
Ответить с цитированием
  #4 (permalink)  
Старый 14.12.2011, 11:47
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от ehan
чтобы происходил автоматический клик
может быть это подойдет http://api.jquery.com/trigger/ ?
Ответить с цитированием
  #5 (permalink)  
Старый 14.12.2011, 13:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от ehan
Возможно такое реализовать?
Я не сторонник таких действий...
Ответить с цитированием
  #6 (permalink)  
Старый 14.12.2011, 13:25
Новичок на форуме
Отправить личное сообщение для ehan Посмотреть профиль Найти все сообщения от ehan
 
Регистрация: 13.12.2011
Сообщений: 4

Просто очень надо ))))
Ответить с цитированием
  #7 (permalink)  
Старый 14.12.2011, 13:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Не-не-не. И даже не уговаривай...
Ответить с цитированием
  #8 (permalink)  
Старый 14.12.2011, 13:47
Новичок на форуме
Отправить личное сообщение для ehan Посмотреть профиль Найти все сообщения от ehan
 
Регистрация: 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.
Ответить с цитированием
  #9 (permalink)  
Старый 14.12.2011, 13:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от ehan
Не выделяет кнопку submit.
А её не нужно выделять... достаточно просто запустить метод submit() той формы...

Последний раз редактировалось ksa, 14.12.2011 в 14:08.
Ответить с цитированием
  #10 (permalink)  
Старый 14.12.2011, 14:07
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Как вариант...

<!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" />Лучший&nbsp;
		<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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Листание" текста в форме путем нажатия кнопки dikabraz Общие вопросы Javascript 20 25.08.2015 13:27
имитация нажатия на кнопку syegorius Javascript под браузер 5 21.07.2011 14:30
Получение ссылки на объект в обработчике нажатия кнопки pauluss ExtJS 1 22.06.2011 15:27
Имитация нажатия кнопки мыши Mantell Общие вопросы Javascript 3 19.02.2009 17:03
заполнения и имитация нажатия кнопки Gilman Общие вопросы Javascript 7 06.01.2009 21:28