Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   data передача значения ссылкой html (https://javascript.ru/forum/misc/33525-data-peredacha-znacheniya-ssylkojj-html.html)

krasavchik 26.11.2012 17:56

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 в одиночку) знаю РНР, Если есть желание можно просто ткнуть носом где подробно написано про это. А так же интересует разница между одинарными и двойными кавычками в скрипте.


.

vadim5june 26.11.2012 18:29

[js]var a0=2,a1=5;
.....
data: 'cookies=num&id_tovar='+a0+'text&kol_vo=5'+a1+'del =0',

Hoshinokoe 26.11.2012 19:34

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);
        }
    });
});

krasavchik 27.11.2012 13:34

Получаю ответ undefined
Сейчас стараюсь решить.Всем кто ответил спасибо. Помогли продвинутся немного.

krasavchik 27.11.2012 14:18

$('.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);
        }
    });
});


Вот так работает. Понять почему первый вариант не работал.
Спасибо дали толчек и знания)

krasavchik 03.12.2012 17:08

Возник еще вопрос как из формы передать значение методом пост? Исходные данные такие хе. Сама форма такая. Спасибо.

<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>

ОлегА 05.12.2012 12:03

как то страноо у тебя закрывается тег 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.