За последние 24 часа нас посетили 17560 программистов и 1649 роботов. Сейчас ищут 839 программистов ...

Не могу подсоединить скрип AJAX

Тема в разделе "JavaScript и AJAX", создана пользователем SaM1001, 22 июл 2014.

  1. SaM1001

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

    С нами с:
    19 июн 2009
    Сообщения:
    60
    Симпатии:
    0
    Ребят, вы меня уж простите, но я опять к вам за помощью, что же я делаю не правильно. Если бы были какие варианты не обращался бы к вам за помощью. Поэтому сильно не ругайте и не посылайте курить мануалы, а коротко обяснить в чём заключаеться моя ошибка, если кто видит её. Теперь к коду. Его не много, но всё равно не выходит ничего:
    Это сам AJAX, лежит в ajax.js:

    Код (Text):
    1. function addForm()
    2.         {
    3.             var scntDiv = $('#p_scents');
    4.             var i = $('#p_scents p').size() + 1;
    5.      
    6.             $('#addScnt').live('click', function() {
    7.                     $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Артикул '+ i +'" /></label>&nbsp;/&nbsp;<label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Количество. '+ i +'" /></label> <a href="#" id="remScnt">Удалить</a></p>').appendTo(scntDiv);
    8.                     i++;
    9.                     return false;
    10.             });
    11.      
    12.             $('#remScnt').live('click', function() {
    13.                 if( i > 2 ) {
    14.                     $(this).parents('p').remove();
    15.                     i--;
    16.                 }
    17.                 return false;
    18.             });
    19.         };
    В index.php подсоединяю его:
    Код (Text):
    1. print "\n".'<script type="text/javascript" src="js/ajax.js"></script>';
    и в форме включаю в div:
    Код (Text):
    1. print '<tr><td>'.$langs->trans('Артикул').'&nbsp;/&nbsp;'.$langs->trans("Количество").'</td><td colspan="3">';
    2.     print '<div id="p_scents">';  
    3.     print '<label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder=Номер" /></label>&nbsp;/&nbsp;';
    4.     print '<label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Количество" /></label>';
    5.     print '&nbsp;<a href="#" id="addScnt">Добавить<img scr="../img/object_add_button.png"</a>';
    6.     print '</div></td></tr>';
    Ребят, не пинайте сильно,уже просто не знаю куда смотреть. Помогите, если не трудно
     
  2. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Ну так а что не работает то? Мы должны придумать что у тебя не работает, потом помочь? Файл подключается? На страничке все выводится? Ииии, где аякс?
     
  3. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    ну так, а где ajax??
     
  4. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    может я туплю, но под термином AJAX понимают получение данных джаваскриптом с сервера. в случае jquery это выражается методами get/post/load/ajax. я не вижу у тебя мест, где происходит обращение к серверу, не вижу серверного обработчика. это точно ajax?

    расскажи в чем твоя проблема.

    Добавлено спустя 40 секунд:
    б*, опередили ))) ГДЕ АЯКС, МЫ ВАС СПРАШИВАЕМ!11
     
  5. SaM1001

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

    С нами с:
    19 июн 2009
    Сообщения:
    60
    Симпатии:
    0
    Re: Не могу подсоединить JavaScript

    Фаайл подключаеться, на страничке выводиться, но не отрабатываеться...

    Гляньте пожайлуста, почему эта зараза не хочет добавлять мне дополнительные поля

    иии, за AJAX сорри, потом будет... на следующем этапе вытаскивать данные из БД...
     
  6. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Ээээх... Давай по порядку...

    1. Почему ты вставляешь кусок кода с параграфом, если его не было в самой форме?
    2. href="#" можно убрать в элементе id="addScnt".
    3. for="bla-bla-bla" можно убрать.
    4. На странице не должны повторяться идентификаторы элементов - для этого есть классы и атрибуты.
    5. Если value пустое - его можно не писать.
    6. addForm нигде не вызывается.
    7. проверь версию jQuery, если выше 1.9, то метод live работать не будет.
    8. Шо это такое?
    Код (Text):
    1.  
    2. $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Артикул '+ i +'" /></label>&nbsp;/&nbsp;<label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Количество. '+ i +'" /></label> <a href="#" id="remScnt">Удалить</a></p>').appendTo(scntDiv);
    Нужно так:
    Код (Text):
    1.  
    2. jQuery('<p/>').append(
    3.     jQuery('<label/>').append(
    4.         jQuery('<input/>', {id: 'yourId', name: 'yourName', type: 'text', ... bla-bla-bla ...}).append(
    5.             ...
    6.         )
    7.     )
    8. ).appendTo(scntDiv);
    9. Зачем это?
    Код (Text):
    1.  
    2. i++;
    3. return false;
    10. Меняем это:
    Код (Text):
    1.  
    2.             $('#remScnt').live('click', function() {
    3.                 if( i > 2 ) {
    4.                     $(this).parents('p').remove();
    5.                     i--;
    6.                 }
    7.                 return false;
    8.             });
    На это:
    Код (Text):
    1.  
    2. function remScnt(event) {
    3.     jQuery(event.currentTarget).closest('p').remove();
    4. }
    5. jQuery('.remScnt').bind('click', window.event, remScnt);
     
  7. SaM1001

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

    С нами с:
    19 июн 2009
    Сообщения:
    60
    Симпатии:
    0
    Япона мама... чёт я аж растроился, как же так... за 10 минут мне весь код переписали... Спасибо тебе старик (dapperkop)!!! Буду теперь думать как мне это правильно всё в кучу собрать.
    К скрипту: он должен мне два (или больше) дополнительных поля добавить

    можно ещё обращусь если не получиться?!
     
  8. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0