Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2013, 21:42
Интересующийся
Отправить личное сообщение для Pashok Посмотреть профиль Найти все сообщения от Pashok
 
Регистрация: 26.01.2013
Сообщений: 15

Скрипт работает только в Mazilla
Добрый день.
Столкнулся с проблемой, что скрипт работает только в мазиле. В опере и ИЕ - не пашет (в других не проверял)
Помогите пожалуйста разобраться
<label>* Ваша оценка:</label>
							<div class="reiting">
<script language="JavaScript" type="text/javascript"> 

{literal}
function vote(score)
{
	
  jQuery('input[name=mark]').val(score);
	return false;
}
{/literal}

</script> 

<ul id="rate-stars" class="unit-rating" style="width:100px;"> 
{literal}
		<li class="current-rating" style="width:100px;">&nbsp;</li> 
		<li><a  href='javascript:void(0)' onclick='javascript:vote("1"); active(1, "Не лучший выбор.");' rel='1' class="r1-unit rater" >Очень плохо</a></li>
		<li><a href='javascript:void(0)' onclick='javascript:vote("2"); active(2, "Так себе выбор.");' rel='' class="r2-unit rater" >Плохо</a></li> 
		<li><a  href='javascript:void(0)' onclick='javascript:vote("3"); active(3, "Ничего выдающегося.");' rel='' class="r3-unit rater" >Средне</a></li> 
		<li><a  href='javascript:void(0)' onclick='javascript:vote("4"); active(4, "Хороший выбор!");' rel='' class="r4-unit rater" >Хорошо</a></li> 
		<li><a href='javascript:void(0)' onclick='javascript:vote("5"); active(5, "Отлично, всем советую!");' rel='' class="r5-unit rater"> Отлично</a></li> 
{/literal}
	</ul> 

</div>
							<div class="text-big" id="rate-text"></div>
<script language="JavaScript" type="text/javascript"> 

{literal}


function active(current, label) {
jQuery('.unit-rating a').removeClass('active');
var i = 1;
jQuery('.unit-rating a').each(function(){
if (i <= current) jQuery(this).addClass('active');
i++;
});
jQuery('#rate-text').text(label);
}

{/literal}

</script> 
</div>


Заранее благодарен
Ответить с цитированием
  #2 (permalink)  
Старый 26.01.2013, 22:24
Интересующийся
Отправить личное сообщение для Pashok Посмотреть профиль Найти все сообщения от Pashok
 
Регистрация: 26.01.2013
Сообщений: 15

Посмотреть можно на странице:
http://tottys.ru/product/bandai-2764...etjan/reviews/

"Ваша оценка" - в мазиле при клике на звездах - выводит оценку.
В других браузерах - ни чего не происходит
Ответить с цитированием
  #3 (permalink)  
Старый 26.01.2013, 22:58
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Для начала исправьте эти ошибки, они возникают еще до голосования:

Цитата:
Uncaught ReferenceError: Behaviour is not defined frame.js:102
Uncaught SyntaxError: Unexpected token ) tottys.ru:1595
[cycle] terminating; zero elements found by selector jquery.cycle.all.min.js:11
Что касается ошибки, то она возникает из-за конфликта имени функции vote() и элемента формы input[name="vote"] ( <input type="hidden" name="vote" value="yes" /> )

Дело в том, что обработчики событий, назначенные с помощью атрибутов, оборачиваются в with-блоки с родительскими элементами. Получается что все свойства сначала ищутся у элемента, на котором стоит обработчик (именно поэтому можно писать в обработчике ченить типа value='bla', тоесть без ключегого слова this ), затем у всех предков, и только потом у глобального объекта (window)

В вашем случае срабатывает review_form.vote (а <input> - это объект конечно), так что до функции window.vote() дело не доходит.
Поэтому получаем ошибку:
Цитата:
Uncaught TypeError: object is not a function
Так что нужно переименовать функцию, или писать window.vote(x)
Ответить с цитированием
  #4 (permalink)  
Старый 26.01.2013, 23:09
Интересующийся
Отправить личное сообщение для Pashok Посмотреть профиль Найти все сообщения от Pashok
 
Регистрация: 26.01.2013
Сообщений: 15

Обгромное спасибо за развернутый ответ.
Все исправил - работает
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
скрипт работает в IE не работает в Opera!!! Ikram Opera, Safari и др. 3 29.10.2010 10:04
Почему не работает скрипт, подскажите aviaks Ваши сайты и скрипты 2 05.05.2009 14:38
Скрипт не работает в опере, работает в IE XpycTuk Общие вопросы Javascript 9 06.03.2009 15:50
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32