ajax и переменная
Код раньше работал отлично но потом я решил в ajax добавить "&mestor=" + mestor,
и все перестало работать и не могу понять почему. Подскажите пожалуйста var btn = document.querySelectorAll("a"); for (var i=0;i<btn.length;i++){ btn[i].addEventListener("click", function() { var mesta = this.getAttribute('data'); var mestor = 0; switch (mesta) { case "1": var mestor = "Шапка сайта"; break; default: var mestor = "Не знаю"; } }) } $("#contactForm").validator().on("submit", function (event) { if (event.isDefaultPrevented()) { // handle the invalid form... formError(); submitMSG(false, "Пожалуйста заполните все поля"); } else { // everything looks good! event.preventDefault(); submitForm(); } }); function submitForm(){ // Initiate Variables With Form Content var name = $("#name").val(); var email = $("#email").val(); var phone = $("#phone").val(); $.ajax({ type: "POST", url: "php/form-process.php", data: "name=" + name + "&email=" + email + "&phone=" + phone + "&mestor=" + mestor, success : function(text){ if (text == "success"){ formSuccess(); } else { formError(); submitMSG(false,text); } } }); } function formSuccess(){ $("#contactForm")[0].reset(); submitMSG(true, "Ваша заявка отправлена ! С вами свяжется наш менеджер") } function formError(){ $("#contactForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){ $(this).removeClass(); }); } function submitMSG(valid, msg){ if(valid){ var msgClasses = "h3 text-center tada animated text-success"; } else { var msgClasses = "h3 text-center text-danger"; } $("#msgSubmit").removeClass().addClass(msgClasses).text(msg); } |
-=Женька=-,
откуда возникнет mestor в строке 36? |
рони,
switch (mesta) { и 8 строка |
-=Женька=-,
она в клике и останется строка 3 |
рони,
Я не на столько хорош в js ) поставил перед ajax mestor = 1; и все заработало но передало 1 : ) Соответственно как я понимаю переменная попадает в функцию пустой. |
-=Женька=-,
var btn = document.querySelectorAll("a"); var mestor = 0; for (var i=0;i<btn.length;i++){ btn[i].addEventListener("click", function() { var mesta = this.getAttribute('data'); switch (mesta) { case "1": mestor = "Шапка сайта"; break; default: mestor = "Не знаю"; } }) } |
рони,
Да но с switch теперь ничего не передается в php проблемы нет так когда перед ajax написал mestor = 1; единица передалась без проблем |
рони,
Может проблема в клиентской части еще ? Как работает чудо механизм. На странице есть 5-10 кнопок и все ведут на модальное окно с одной формой и мне нужно знать на какую кнопку нажал пользователь что-бы попасть на форму и заполнить её |
-=Женька=-,
не понимаю что вы хотите сделать, всё что мог выше. |
рони,
https://codepen.io/lomakin/pen/YxeLPp При нажатии всегда открывается одна и та же форма. Мне нужно что-бы при отправки данных с формы еще отправлялась переменная mestor и я видел с какой части сайта начали заполнять форму |
Часовой пояс GMT +3, время: 16:47. |