Там бы код обработки формы отправки сообщения, я его перенес в общий, а файл не отключил пока
|
Значит где-то либо ошибка в размещении кода обработчика, либо вообще он не подключен, так как нет у этой формы обработчика и форма отправляется естественным способом. В какой файл помещен код?
|
laimas,
/phpshop/templates/puls/js/phpshop.js нужный код начинается со строки 947 |
Удалите строки 949 и 990, ибо вы впихнули в $(document).ready(function () второй $(document).ready(function () в котором обработчик формы.
В этом же файле строки 150-153 не могут работать вне $(document).ready(function () { .... |
И перепишите обработчик так:
$("#firstform").submit(function(){ // Получение форму var form = $(this), msg = $('.msgs') bx = form.add($('.formTitle')); $.ajax({ type: "POST", url: 'modalform/mail.php', data: form.serialize(), success: function (data) { // Вывод сообщения об успешной отправке msg.html(data); bx.hide(); setTimeout(function(){ bx.show(); msg.empty(); $('input').not(':input[type=submit], :input[type=hidden]').val(''); }, 3000); }, error: function (jqXHR, text, error) { // Вывод сообщения об ошибке отправки msg.html(error); bx.hide(); setTimeout(function(){ bx.show(); msg.empty(); $('input').not(':input[type=submit], :input[type=hidden]').val(''); }, 3000); } }); return false; }); негоже многократно получать объекты. |
laimas,
Удалил строки, форма не заработала, затем заменил на ваш код, и пропало меню перестла работать форма |
laimas,
Также перестали добавляться имена врачей |
имена добавлялись так
<script type="text/javascript"> $(".linkButton").click(function() { $( "input[name*='formInfo']" ).val($(this).attr( "title" )); }); </script> |
Пояснение: обработчик события можно установить элементу тогда, когда он будет доступен, а это может быть только после того как будет загружена страница и сформирован DOM. Когда страница загружена, то возникает событие загрузки документа, в jQuery это можно прописать двумя способами:
//так $(document).ready(function() { //здесь объявляется установка обработчиков и прочие действия с элементами страницы }); //или так $(function() { //здесь объявляется установка обработчиков и прочие действия с элементами страницы }); Вы же взяли код обработчика формы с обработчиком события загрузки документа и воткнули его в обработчик загрузки документа. А оно ведь не сработает (тот что вы вставили), оно уже сработало, а значит никакого обработчика у формы не будет. Вставленный вами этот обработчик начинается и кончается в указанных строках, их и надо удалить из кода. Ваш файл подключается в теле страницы и если он следует после формы и прочих элементов которые описаны в событии загрузки документа, то это событие можно и удалить вообще. Но коли вы не разбираетесь, то не трогайте, удалите только в тех строках что указаны. Второе: если ваша форма не присутствует на странице, появляется динамически на ней, то обработчик ее события нужно делегировать, или же определять после того как форма будет добавлена на страницу. |
Цитата:
|
Часовой пояс GMT +3, время: 20:36. |