-=Женька=-,
var btn = document.querySelectorAll("a"); var mestor = 0; for (var i=0;i<btn.length;i++){ btn[i].addEventListener("click", function(event) { event.preventDefault(); var mesta = this.getAttribute('data'); switch (mesta) { case "1": mestor = "Шапка сайта"; break; case "2": mestor = "Под шапкой сайта. 1"; break; case "3": mestor = "Под шапкой сайта. 2"; break; default: mestor = "Не знаю"; } }) } |
рони,
не передается. Но уже все отправляется без ошибок. может отправлять в кэш, а перед отправкой ajax узнать что там лежит ? |
рони,
По идее если даже со свича ничего не передается то должно идти var mestor = 0; |
Цитата:
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .modal{ display: none; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { var btn = document.querySelectorAll("a"); var mestor = 0; for (var i=0;i<btn.length;i++){ btn[i].addEventListener("click", function(event) { event.preventDefault(); var mesta = this.getAttribute('data'); switch (mesta) { case "1": mestor = "Шапка сайта"; break; case "2": mestor = "Под шапкой сайта. 1"; break; case "3": mestor = "Под шапкой сайта. 2"; break; default: mestor = "Не знаю"; } $(".modal").show() }) } $("#contactForm").on("submit", function (event) { event.preventDefault(); alert(mestor); $(".modal").hide(); }); }); </script> </head> <body> <a href="#" class="btn-background" data-toggle="modal" data-target=".modal" data="1">Кнопка ведет на форму</a> <a href="#" class="btn-background" data-toggle="modal" data-target=".modal" data="2">Кнопка ведет на форму</a> <a href="#" class="btn-background" data-toggle="modal" data-target=".modal" data="3">Кнопка ведет на форму</a> <div class="modal"> <!-- Form starts --> <form id="contactForm" action="" method="POST" > <fieldset> <legend>Contact Form</legend> <table width="100%" border="0"> <tr> <td width="120"><label for="name">Name</label></td> <td><input name="name" id="name" size="30" /></td> </tr> <tr> <td width="120"><label for="email">E-mail</label></td> <td><input name="email" id="email" size="30" /></td> </tr> <tr> <td width="120" valign="top"><label for="comments">Comments</label></td> <td><textarea name="comments" id="comments" rows="5" cols="40"></textarea></td> </tr> <tr> <td> </td> <td> <input type="submit" name="Submit" value="Submit" /> </td> </tr> </table> </fieldset> </form> <!-- Form ends --> </div> </body> </html> |
рони,
Тогда спасибо ) только не пойму что мешает передаться,а точней дойти до ajax |
рони,
Нашел проблему :) Как всегда все очень глупо. default: var = mestor = "Не знаю"; убрал var = |
-=Женька=-,
ок. |
-=Женька=-,
выбрасывать надо это. Каждая форма может иметь скрытое поле содержащее значение позиции. Источником позиции может служить и кнопка отправления формы. Это наряду с другими полями формы и нужно передавать, но не склеивая руками, а достаточно в обработчике отправления $(this).serialize(). Никаких дополнительных скриптов получающих от ссылок данные совсем не требуется. |
Цитата:
Цитата:
|
рони,
значит надо записывать сразу в элемент формы из data ссылки без switch. А если выбросить ссылки, заменив их на label с дочерними radio, то и этого не требуется. |
Часовой пояс GMT +3, время: 09:12. |