Там бы код обработки формы отправки сообщения, я его перенес в общий, а файл не отключил пока
|
Значит где-то либо ошибка в размещении кода обработчика, либо вообще он не подключен, так как нет у этой формы обработчика и форма отправляется естественным способом. В какой файл помещен код?
|
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, время: 05:31. |