Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: ссылка через javascript

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Prizma
Отправлено: 16 Февраля, 2013 - 23:56:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




Реализовал на своём сайта рейтинг товаров... Но "голосование" от 1 до 10 балов, это всего лишь 10 кнопок реализованных с помощью ссылок.
перед публикацией рейтинга я задумался... а ведь когда робот попадёт на сайт и начнет индексировать ссылки робот сам будет голосовать что нежелательно и недопустимо.
Вот думаю что если эти кнопки сделать не как объекты ссылок(<a href=""></a>), а как объекты "кнопка"(<input type="buttom" .../>) этого можно будет избежать... Но к сожалению я совсем не владею javascript(ом) поэтому прошу помочь сделать действия по клику на эту кнопку заключающиеся в переходе по ссылке.
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 17 Февраля, 2013 - 00:08:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Советую перейти от ссылок (тегов "а") к блокам ("div").
И использовать POST AJAX запрос на сервер для голосования.
jquery пример:
CODE (javascript):
скопировать код в буфер обмена
  1. $("div.votelink").click(function(){
  2.   var target = $(this).attr("target"), vote = $(this).attr("vote");
  3.   $.post("/vote.php", {target: target, vote: vote}, function(response){
  4.     alert(response);
  5.   });
  6. });

"Ссылка" с оценкой четыре, где таргет это айдишник материала, а воте - значение оценки:
CODE (html):
скопировать код в буфер обмена
  1. <div class="votelink" target="45" vote="4">4</div>

PHP:
скопировать код в буфер обмена
  1. echo $_POST['target'];
  2. echo $_POST['vote'];
 
 Top
Prizma
Отправлено: 17 Февраля, 2013 - 05:18:20
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




обязательно попробую
 
My status
 Top
Prizma
Отправлено: 18 Февраля, 2013 - 01:26:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




вчера руки не дошли попробывать, незнаю не получилось у меня, может jQuerry не тот, либо что то не так сделал.
я тут подумал зачем мне Ajax запрос тут?
нашел вот такой простой вариантик:
CODE (html):
скопировать код в буфер обмена
  1. <div onclick="location.href = 'http://mysayt/'">ссылка</div>

он корректен? такую ссылку поисковики индексировать не будут?
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 18 Февраля, 2013 - 01:51:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Будут
 
 Top
Prizma
Отправлено: 18 Февраля, 2013 - 02:34:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




печально то как) ладненько отложу до завтра этот вопрос...

по поводу твоего варианта можешь совсем не шарящему в javascript уточнить правильно
ли я сделал?
1. это я так понимаю в хедер пихаем так? в тегах <script type="text/javascript"></script>
DeepVarvar пишет:
$("div.votelink").click(function(){
var target = $(this).attr("target"), vote = $(this).attr("vote");
$.post("/vote.php", {target: target, vote: vote}, function(response){
alert(response);
});
});


2. так же я должен подключить jQuerry <script src="/js/jquery.js" type="text/javascript"></script>(так же в хедере)

так-с и теперь при клике по блоку с классом(votelink) должен происходить переход?(с передачей соответствующих значений)

у меня при клики просто не чего не происходило, может не так что то сделал?
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 18 Февраля, 2013 - 02:54:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Чтобы в хедере сработало, обернуть надо в:
CODE (javascript):
скопировать код в буфер обмена
  1. $(function(){
  2.   // код который отработает после полной загрузки страницы
  3. });

И по F12 (Firebug) смотрите - может ругается.
 
 Top
Prizma
Отправлено: 18 Февраля, 2013 - 11:46:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




блин не знаю что такое)) не работает и всё тут)
вот точный код с моей страниы:
в тегах <head>
CODE (html):
скопировать код в буфер обмена
  1. <script src="/js/jquery.js" type="text/javascript"></script>
  2. <script type="text/javascript">
  3.         $(function(){
  4.                 $("div.productStatRetingNumber").click(function(){
  5.                         var target = $(this).attr("target"), vote = $(this).attr("vote");
  6.                         $.post("/product/s/productStat/", {target: target, vote: vote}, function(response){
  7.                         alert(response);
  8.                         });
  9.                 });
  10.         });
  11. </script>

в <body>
CODE (html):
скопировать код в буфер обмена
  1. <div class="productStatRetingNumber" target="196" vote="1">&nbsp;1&nbsp;</div>
и так до 10(10 блоков)
версия jQuery: jQuery JavaScript Library v1.8.3
(Добавление)

ЗЫ: книжку по js купил)только начал читать, так блин на права сдавать начал, кроме билетов и пдд не чего не читаю в свободное время))
 
My status
 Top
Prizma
Отправлено: 18 Февраля, 2013 - 17:27:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




в чем проблема то?(
(Добавление)
а не заработало.... только очень странно... после клика вместо того что бы перейти по ссылке или обновить страницу возвращает окно поверх текущего с html кодом страницы ... что с этим делать?... мне нужно что бы после отправки пост данных либо он перешел на страницу на которую пост данные послал, либо страница просто обновилась
(Добавление)
я вместо alert(response); написал location.reload() вроде всё норм работает не должно быть проблем с этой функцией?
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB