Помогите с подключением формы на AJAX+PHP
Доброго времени суток, форумчане.
Подозреваю, что вопрос немного затертый, но сам уже устал биться и пробовать разные методы из поисковых систем. Суть проблемы: есть шаблон сайта, в html которого локально подключается библиотека jQuery.min версии 1.11.0. Я прикрутил к шаблону контактную форму с всплывающими окнами на ajax+php. В общем если сначала локально подключать библиотеку jQuery и далее скрипты шаблона и потом скрипты контактной формы, то работают только скрипты шаблона (подвижные менюшки). Если подключить после скриптов шаблоны библиотеку, то работает контактная форма. Пробовал все менять местами, но всегда работает что-то одно. Вот код шапки HTML. У контактной формы есть соответственно свой файл PHP и набор файлов .js. <html> <head> <title>Имя сайта</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="description" content="" /> <meta name="keywords" content="" /> <link href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600" rel="stylesheet" type="text/css" /> /**<!--[if lte IE 8]><script src="js/html5shiv.js"></script><![endif]-->**/ <script src="js/jquery.min.js"></script> /**<!--скрипты шаблона-->**/ <script src="js/skel.min.js"></script> <script src="js/skel-panels.min.js"></script> <script src="js/init.js"></script> /**<!--Подключение скриптов контактной формы-- **/ /**<!--<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>-->**/ <script src="feedback/js/feedback.js"></script> <script src="feedback/js/jquery.jgrowl.js"></script> /**Всплывающие окна об отправке или неправильном заполнении форм**/ <link rel="stylesheet" type="text/css" href="feedback/css/jquery.jgrowl.css"> <noscript> <link rel="stylesheet" href="css/skel-noscript.css" /> <link rel="stylesheet" href="css/style.css" /> <link rel="stylesheet" href="css/style-wide.css" /> </noscript> </head> Очень нужна помощь. Четвертый день сижу с этим. Сейчас сделал так, чтобы хотя бы всплывающие окна работали, теперь и они умерли. Пробовал выкрутиться через noConflict, добавлял ко второму включению библиотеки с сайта гугла, после редактировал jquery.jgrowl.js, но тоже безрезультатно. Самое странное, что если выбрать одну из этих библиотек (1.9.1 или 1.11.0) и перемещать ее в коде html, то форма также от нее запускалась. Т.е. получается конфликта в версиях нет? |
Пробовал поочередно отключать
<script src="js/skel.min.js"></script> <script src="js/skel-panels.min.js"></script> <script src="js/init.js"></script> Меню перестает нормально работать, но всплывающие окна в контактной форме появляются. Но стоит все три строчки активировать, и работоспособность меню берет верх над контактной формой. Пробовал при таком порядке: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="feedback/js/jquery.jgrowl.js"></script> <script src="feedback/js/feedback.js"></script> <script src="js/skel.min.js"></script> <script src="js/skel-panels.min.js"></script> <script src="js/init.js"></script> |
Kompe,
в нормальном случае jquery грузят 1 раз. загрузили jquery потом то что работает с jquery потом все остальные скрипты |
Последнее открытие:
При нажатии кнопки отправить форма срабатывает, но открывается страница: http://имя сайта.com/?address77=&name=&e-mail=&message= если нажать при этом нажать "назад", то и всплывающие окна появляются. Как я понял address77 - это антиспам, name - поле имя, e-mail и message соответствующие поля. Т.е. все те поля, которые необходимо заполнить (кроме антиспама). Получается это php почему-то начинает выкидывать на эту страницу. |
В общем опять просидел до утра, но так и не разобрался. Итог такой: подключаю 1 раз любую версию jQuery, ниже перечисляю все скрипты от шаблона и от формы. В итоге меню работает, форма тоже, но при отправке или не отправке письма (при пустых полях формы) открывается страница с припиской ?address77=&name=&e-mail=&message=. Если перенести включение jQuery перед скриптами формы то меню не работает нормально, но зато форма функционирует без открытия новой страницы. Что именно и где мешается никак не пойму.
Просьба о помощи до сих пор актуальна. |
Установил FireBug. В разделе DOM выделяет красным $ и jQuery.
|
Kompe,
так у вас $ перехватывает какой-то скрипт ... перед этим перехватом и освобождают $ с помощью noConflict -- и если ниже что то нужно используют jQuery вместо $ ... ваша информация недостаточна -- толку от названий ваших скриптов никакого ... смотреть надо на месте ваш венигрет ... но лучше нанять специалиста ... потому что это требует время и знаний и таких тем на форуме не одна поищите может подскажет что ... а так работа неблагодарная ... уйма времени чтобы переставить или переименовать пару строк |
рони,
Понятно, буду искать. Спасибо, что хоть ответили. |
Часовой пояс GMT +3, время: 21:38. |