data передача значения ссылкой html
Здравствуйте.
Сразу прошу прощения за вопрос который относится к азам. Я пишу корзину магазина. Нашел код в Интернете и модифицировал под себя. <a class="sample2" href="#" data-num="10" data-text="555" "><b>1111</b></a> <a class="sample2" href="#" data-num="12" data-text="666" "><b>222</b></a> <script src=\"../js/jquery.min.js\" type=\"text/javascript\"></script> <script language=\"javascript\" type=\"text/javascript\"> $('.sample2').click( function(data-num) { $.ajax({ var num = $(this).attr('data-num'); type: 'POST', url: 'zakaz.php?action=new', data: 'cookies=num&id_tovar=2text&kol_vo=5&del=0', success: function(data){ $('.results').html(data); } }); }); </script> <div class=\"results\">Ждем ответа</div> Скрипит работает, но значения переменных id_tovar и kol_vo могу только могу задавать только в самой функции. А желаю передавать через тег data. Подскажите как передать значение data в значение скрипит и подставить их значения вместо значений 2 и 5 в скрипите. Заранее спасибо. О себе немного(по сути пишу свою примитивную CMS в одиночку) знаю РНР, Если есть желание можно просто ткнуть носом где подробно написано про это. А так же интересует разница между одинарными и двойными кавычками в скрипте. . |
[js]var a0=2,a1=5;
..... data: 'cookies=num&id_tovar='+a0+'text&kol_vo=5'+a1+'del =0', |
krasavchik,
$('.sample2').click( function() { var num = $(this).data('num'); // получит текущее значение из аттрибута data-num $.ajax({ type: 'POST', url: 'zakaz.php?action=new', data: 'cookies=num&id_tovar=2text&kol_vo=' + num + '&del=0', success: function (data) { $('.results').html(data); } }); }); |
Получаю ответ undefined
Сейчас стараюсь решить.Всем кто ответил спасибо. Помогли продвинутся немного. |
$('.sample2').click( function() { var _this = $(this), href = _this.attr('href'), text = _this.attr('data-text'), num = _this.attr('data-num'); /*if(typeof num == "undefined") alert("Undefined"); else alert("Not undefined"); */ $.ajax({ type: 'POST', url: 'zakaz.php?action=new', data: 'cookies=num&id_tovar=' + text +'text&kol_vo=' + num + '&del=0', success: function (data) { $('.results').html(data); } }); }); Вот так работает. Понять почему первый вариант не работал. Спасибо дали толчек и знания) |
Возник еще вопрос как из формы передать значение методом пост? Исходные данные такие хе. Сама форма такая. Спасибо.
<script src=\"../js/jquery.min.js\" type=\"text/javascript\"></script> <script src=\"../js/zakaz.jquery.min.js\" type=\"text/javascript\"></script> $text <table summary=\"Контактные данные\" > <tr> <td style=\"text-align: center; background:#99ff99; \"> <font color=\"#CC0000\"> <b>Заказать Online </b></font> цемент, сухие смеси. </td> </tr> <tr> <form class=\"zakaz\" action=\"#\" method=\"post\"> <td style=\"text-align: center; background:#ccffff; \" > <input type=\"text\" name=\"name\" value=\"Имя\" SIZE=30 MAXLENGTH=50 onfocus=\"this.value='';\" /> <input type=\"text\" name=\"phone\" value=\"Контактный телефон\" SIZE=30 MAXLENGTH=15 onfocus=\"this.value='';\" /> <input type=\"text\" name=\"email\" value=\"Контактный e-mail\" SIZE=30 MAXLENGTH=50 onfocus=\"this.value='';\" /> </td> <tr> <td style=\"text-align: center; background:#ccffff; \" > <textarea rows=\"3\" cols=\"50\" name=\"comment\" style=\"width: 99%\" placeholder=\"Адрес доставки или другие ваши комментарии.\"></textarea> </td> <tr> <td colspan=\"2\" style=\"text-align: center; background:#ccffcc; \" > <input class=\"zakaz\" type=submit value=\"Заказать\"> (<input type=\"checkbox\" name=\"cookies\" value=\"0\">Не сохранить контактные данные для следущих заказов) </td> </tr> </TABLE> </form> |
как то страноо у тебя закрывается тег form, почему он у тебя открывается внутри таблицы, а закрывается вне таблицы, сделать надо так и добавим хиддены для отправки kol_vo и id_tovar постом:
<script src=\"../js/jquery.min.js\" type=\"text/javascript\"></script> <script src=\"../js/zakaz.jquery.min.js\" type=\"text/javascript\"></script> $text <form class=\"zakaz\" action=\"#\" method=\"post\"> <table summary=\"Контактные данные\" > <tr> <td style=\"text-align: center; background:#99ff99; \"> <font color=\"#CC0000\"> <b>Заказать Online </b></font> цемент, сухие смеси. </td> </tr> <tr> <td style=\"text-align: center; background:#ccffff; \" > <input type=\"hidden\" name=\"id_tovar\" value="2"> <input type=\"hidden\" name=\"kol_vo\" value="5"> <input type=\"text\" name=\"name\" value=\"Имя\" SIZE=30 MAXLENGTH=50 onfocus=\"this.value='';\" /> <input type=\"text\" name=\"phone\" value=\"Контактный телефон\" SIZE=30 MAXLENGTH=15 onfocus=\"this.value='';\" /> <input type=\"text\" name=\"email\" value=\"Контактный e-mail\" SIZE=30 MAXLENGTH=50 onfocus=\"this.value='';\" /> </td> <tr> <td style=\"text-align: center; background:#ccffff; \" > <textarea rows=\"3\" cols=\"50\" name=\"comment\" style=\"width: 99%\" placeholder=\"Адрес доставки или другие ваши комментарии.\"></textarea> </td> <tr> <td colspan=\"2\" style=\"text-align: center; background:#ccffcc; \" > <input class=\"zakaz\" type=submit value=\"Заказать\"> (<input type=\"checkbox\" name=\"cookies\" value=\"0\">Не сохранить контактные данные для следущих заказов) </td> </tr> </TABLE> </form> |
Часовой пояс GMT +3, время: 08:36. |