За последние 24 часа нас посетили 17726 программистов и 1712 роботов. Сейчас ищет 931 программист ...

javascript не видит идентификаторы и классы в php

Тема в разделе "PHP для новичков", создана пользователем Михаил_Влад, 11 фев 2017.

  1. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
    Не пойму почему у меня так, как только я идентификатор или класс прописываю в echo то функция click в js не вызывается .... вот и теперь ....

    (не буду слать весь код он большеват)

    ...
    PHP:
    1. do
    2. {
    3.  
    4. $int = $row["cart_price"] * $row["cart_count"];
    5. $all_price = $all_price + $int;
    6.  
    7.  
    8. if  (strlen($row["image"]) > 0 && file_exists('upload_images/'.$row["image"]))
    9. {
    10.  
    11. $img_path = 'upload_images/'.$row["image"];
    12. $max_width = 100;
    13. $max_height = 100;
    14.  
    15.  
    16. list($width, $height) = getimagesize($img_path);
    17. $ratioh = $max_height/$height;
    18. $ratiow = $max_width/$width;
    19. $ratio = min($ratioh, $ratiow);
    20.  
    21. $width = intval($ratio*$width);
    22. $height = intval($ratio*$height);  
    23. }else
    24. {
    25. $img_path = "images/noimages.jpeg";
    26. $width = 120;
    27. $height = 105;
    28. }
    29.  
    30. echo '
    31.  
    32. <div class="block-list-cart">
    33. <div class="img-cart">
    34.  
    35. <p align="center"><img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" /></p>
    36. </div>
    37.  
    38. <div class="title-cart">
    39. <p><a href="">'.$row["title"].'</a></p>
    40.  
    41. <p class="cart-mini-features">
    42. '.$row["mini_features"].'
    43. </p>
    44. </div>
    45.  
    46. <div class="count-cart">
    47. <ul class="input-count-style">
    48.  
    49. <li>
    50. <p align="center" iid="'.$row["cart_id"].'" class="count-minus">-</p>
    51. </li>
    52.  
    53. <li>
    54. <p align="center"><input id="input-id'.$row["cart_id"].'" iid="'.$row["cart_id"].'" class="count-input" maxlength="3" type="text" value="'.$row["cart_count"].'" /></p>
    55. </li>
    56.  
    57. <li>
    58. <p align="center" iid="'.$row["cart_id"].'" class="count-plus">+</p>
    59. </li>
    60.  
    61. </ul>
    62. </div>
    63.  
    64. <div id="tovar'.$row["cart_id"].'" class="price-product"><h5><span class="span-count" >'.$row["cart_count"].'</span> x <span>'.$row["cart_price"].'</span></h5><p price="'.$row["cart_price"].'" >'.group_numerals($int).' руб</p></div>
    65. <div class="delete-cart"><a  href="cart.php?id='.$row["cart_id"].'&action=delete" ><img src="/images/bsk_item_del.png" /></a></div>
    66.  
    67. <div id="bottom-cart-line"></div>
    68. </div>
    69.  
    70.  
    71. ';
    72.  
    73.  
    74. }
    75. while ($row = mysql_fetch_array($result));
    76.  
    77. //////////////////////////////script/////////////////////////
    78.  
    79. $('.count-minus').click(function(){
    80.  
    81.   alert("-");
    82. }
    83. $('.count-plus').click(function(){
    84.  
    85.   alert("+");
    86. }
    87.  
    88. $('.count-input').keypress(function(e){
    89.   alert("abra-kadabra");
    90. }
    --- Добавлено ---

    обработчики на клик не вызываются.... если выведу из echo, то норм
     
    #1 Михаил_Влад, 11 фев 2017
    Последнее редактирование модератором: 11 фев 2017
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Поправил название темы. Java и JavaScript таки разные языки программирования.
     
    Михаил_Влад нравится это.
  3. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Код ещё оформлять надо правильно
     
    Михаил_Влад нравится это.
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @SamyRed прости меня, брат. Не хотелось руки об ду-вайл марать. Но я исправился.
     
    Михаил_Влад нравится это.
  5. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    И снова mysql_
     
    Михаил_Влад нравится это.
  6. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
    ага... сейчас править придется многое если менять....
     
  7. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ну ладно, так и быть) Извиняю :D Больше чтоб такого не было :D:D:D
     
    Михаил_Влад нравится это.
  8. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    @Михаил_Влад, во-первых что означает вот это:
    PHP:
    1. iid="'.$row["cart_id"].'"
    во вторых у тебя вот тут:
    Код (Javascript):
    1. $('.count-minus').click(function(){
    2.   alert("-");
    3. }
    4. $('.count-plus').click(function(){
    5.   alert("+");
    6. }
    7. $('.count-input').keypress(function(e){
    8.   alert("abra-kadabra");
    9. }
    после закрывающих фигурных скобок нужно поставить вот это: );
     
    Михаил_Влад нравится это.
  9. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
    Это идентификатор товара в корзине из БД. по нему и определяется какому товару увеличить или уменьшить кол-во в БД

    С точками с запятой в коде все вроде нормально...
    --- Добавлено ---
    не вызываются все равно(
     
  10. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    @Михаил_Влад, идентификатор вроде пишется id а не iid.
    У тебя функции "click" не закрыты:
    Код (Javascript):
    1. $('.count-plus').click(function(){
    2.   alert("+");
    3. }
    А нужно:
    Код (Javascript):
    1. $('.count-plus').click(function(){
    2.   alert("+");
    3. });
    Ты в консоли посмотри какую ошибку выдаёт когда ты на кнопку нажимаешь.
     
    Михаил_Влад нравится это.
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Почему бы не задавать все вопросы Гуру Попову, у которого вы учились? Почему учит сикось-накось он, причем за деньги, а исправляем мы, причем просто так?
    --- Добавлено ---
    Сходу вопрос - у вас, случайно, обработчики событий не появляются на странице раньше, чем HTML, с которым они должны работать?
    --- Добавлено ---
    Вы во всю типа юзаете JQuery, но почему-то игнорируете ее гайдлайны, где ясно говорится, что надо юзать $(document).ready()
     
    Михаил_Влад нравится это.
  12. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
    @Sergey_Tsarev я сперва недописал.... функции представляют следующее: я удалял все, оставлял алерты
    Код (Javascript):
    1. $(".count-minus").click(function(){
    2.  
    3.   var iid = $(this).attr("iid");    
    4. alert("yfrjytw");
    5. $.ajax({
    6.   type: "POST",
    7.   url: "include/count-minus.php",
    8.   data: "id="+iid,
    9.   dataType: "html",
    10.   cache: false,
    11.   success: function(data) {
    12.   $("#input-id"+iid).val(data);
    13.   loadcart();
    14.   // переменная с ценной продукта
    15.   var priceproduct = $("#tovar"+iid+" > p").attr("price");
    16.   // Цену умножаем на колличество
    17.   result_total = Number(priceproduct) * Number(data);
    18.  
    19.   $("#tovar"+iid+" > p").html(fun_group_price(result_total)+" руб");
    20.   $("#tovar"+iid+" > h5 > .span-count").html(data);
    21.   itog_price();
    22.       }
    23. });
    24. });
    25.  
    26. $('.count-plus').click(function(){
    27.  
    28.   var iid = $(this).attr("iid");    
    29. $.ajax({
    30.   type: "POST",
    31.   url: "include/count-plus.php",
    32.   data: "id="+iid,
    33.   dataType: "html",
    34.   cache: false,
    35.   success: function(data) {
    36.   $("#input-id"+iid).val(data);
    37.   loadcart();
    38.   // переменная с ценной продукта
    39.   var priceproduct = $("#tovar"+iid+" > p").attr("price");
    40.   // Цену умножаем на колличество
    41.   result_total = Number(priceproduct) * Number(data);
    42.  
    43.   $("#tovar"+iid+" > p").html(fun_group_price(result_total)+" руб");
    44.   $("#tovar"+iid+" > h5 > .span-count").html(data);
    45.   itog_price();
    46.       }
    47. });
    48. });
    естественно все функции через документ....
    p.s пытаюсь учиться везде где учат)
     
    #12 Михаил_Влад, 11 фев 2017
    Последнее редактирование модератором: 11 фев 2017
  13. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    @Михаил_Влад, ты когда по кнопке 'count-plus' или 'count-minus' кликаешь, в консоли ошибка показывается?
     
    Михаил_Влад нравится это.
  14. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
    @Sergey_Tsarev вроде нету никаких ошибок... ни в логах ни в консоле .... может не там смотрю?
     
  15. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Может. Потому что ты открываешь круглую и фигурную скобки, а закрываешь только фигурную, и при том точку с запятой не ставишь.
     
    Михаил_Влад нравится это.
  16. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Страницу в браузере перезагрузи и тыкни по своей кнопке. Открой режим разработки (для GoogleChrome - ctrl+shift+i ) и должна быть ошибка отображена.
     
    Михаил_Влад нравится это.
  17. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Код нужно постепенно писать и проверять походу, а не нахерачить целую страницу и думать почему всё не работает, еще и код не заворачивать в теги чтобы кровь из глаз хлестала.
    JQuery весь тухнет из-за одной синтаксической ошибки.
    На всякий случай, ты JQuery подключил вообще?
     
    Михаил_Влад нравится это.
  18. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Полностью согласен. Я чуть ли не каждое действие проверяю. А то бывает двоеточие пропустил или скобку и всё - ошибка.

    А что это за атрибут?
    Код (Javascript):
    1. var iid = $(this).attr("iid");
    Или это пользовательский атрибут? Так для этого вроде как есть: http://htmlbook.ru/samouchitel-html5/atributy-data
     
    Михаил_Влад и TeslaFeo нравится это.
  19. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    и ты её сразу исправил, а не потом вглядываешься в кучу букв уставшими глазами, где точку про#$ал )))
     
    Михаил_Влад и Sergey_Tsarev нравится это.
  20. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
    Спасибо огромное ребята... дело инклюдах... куки другую подключил... Реально очень признателен за помощь
     
    denis01 нравится это.