За последние 24 часа нас посетили 17668 программистов и 1692 робота. Сейчас ищут 1198 программистов ...

Помогите разобраться с конфликтом в области "innerHTML" jQue

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

  1. dasser

    dasser Новичок

    С нами с:
    17 июн 2014
    Сообщения:
    3
    Симпатии:
    0
    есть код всплавающей формы (с проверкой заполнения):
    Код (Text):
    1. function AjaxFormRequest(result_id,former,url) {
    2. jQuery.ajax({
    3. url: "submit.php",
    4. type:     "POST",
    5. dataType: "html",
    6. data: jQuery("#"+former).serialize(),  
    7. success: function(response) {  
    8. document.getElementById(result_id).innerHTML = response;
    9. },
    10. error: function(response) {
    11. document.getElementById(result_id).innerHTML = "Ошибка при отправке формы";
    12. }
    13. });
    14. }
    а также main.js (скрипт навигации по всему сайту), который идет в конце страницы. оба кода отдельно работают нормально. Пробовал в разные места (выше, позже, даже внутрь "main.js") вставить верхний код, работает также, а то и еще хуже.
    Проблема: при объединении обеих упирается в ошибки: "Cannot set property 'innerHTML' of null" в строке 08 и "undefined is not a function" в строке 97 в feedback.js ( скрипт обработки кнопки).
    Вопрос: с чего начать соединение двух скриптов в рабочую форму в даном примере или проблема в другом, чет не пойму?
     
  2. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Re: Помогите разобраться с конфликтом в области "innerHTML"

    Во-первых, проверьте, существует ли вообще в документе document.getElementById(result_id)
    Во-вторых, раз уж у вас все на jQuery, эту строку логичнее написать как $('#'+result_id).html(response);
     
  3. dasser

    dasser Новичок

    С нами с:
    17 июн 2014
    Сообщения:
    3
    Симпатии:
    0
    Re: Помогите разобраться с конфликтом в области "innerHTML"

    Спасибо, первую ошибку не выдает. В наличии есть document.getElementById(result_id), поменял в док-те document.getElementById(result_id).innerHTML = response на "$('#'+result_id).html(response)".
    но также осталась ошибка "undefined is not a function " с 97 строкой из http://gospodinya.com/test/feedback/js/feedback.js
     
  4. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Re: Помогите разобраться с конфликтом в области "innerHTML"

    Может, у вас не подключен правильно jGrowl? других вариантов не вижу.
    В других местах вывод jGrowl нормально работает?
     
  5. dasser

    dasser Новичок

    С нами с:
    17 июн 2014
    Сообщения:
    3
    Симпатии:
    0
    Re: Помогите разобраться с конфликтом в области "innerHTML"

    c jGrowl разобрался, весь его подключил внутрь main.js, не знаю, костильно получается, и заработало! УРА
    но не работает строка url: "submit.php", которая отправляет на сервер даные формы. добавление "+url" в $('#'+result_id+url).html(response); не решает. в результате кнопка <input class="feedback btn btn-block btn-large btn-success" name="send" type="submit" value="Відправити замовлення!" onclick="AjaxFormRequest('result_div_id', 'former', 'submit.php')"> замерает.