AJAX.Выполнение нескольких действий - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Thu, 28 Nov 2024 01:27:55 +0300 html<br> <pre class="prettyprint">&lt;button class=&quot;shop&quot; name=&quot;&#039;.$i.&#039;&quot; value=&quot;заказать&quot; /&gt;</pre> js<br> <pre class="prettyprint"> $(document).ready(function(){ $(&quot;.shop&quot;).click(function(){ var shopID = $(this).attr(&quot;name&quot;); /* тут отправка и алерт, shopID - ид товара (переменная $i в цикле */ }); }); </pre> на скорую руку https://visavi.net/topics/27003/454099 AJAX.Выполнение нескольких действий ramzes Thu, 01 Dec 2011 22:20:02 +0400 Сообщения https://visavi.net/topics/27003/454099 13. <strong>dima.london</strong>, можно проще, без явного вызова функции, мегабит прав https://visavi.net/topics/27003/453915 AJAX.Выполнение нескольких действий ramzes Thu, 01 Dec 2011 16:41:01 +0400 Сообщения https://visavi.net/topics/27003/453915 12. <strong>ramzes</strong>, я в <strong>5</strong> посте набросал вполне работоспособный скрипт. Еще и кнопочки в css отрисовал. https://visavi.net/topics/27003/453901 AJAX.Выполнение нескольких действий Дмитрий Thu, 01 Dec 2011 16:22:05 +0400 Сообщения https://visavi.net/topics/27003/453901 <blockquote class="blockquote"><strong>dima.london</strong> (1 Декабря 2011 / 13:56)<br> 8. <strong>megabit</strong>, категорически не согласен. <br> Обрати внимание на начало JS. Я даже закомментирую:<br> <pre class="prettyprint"> $(function() { // id - это содержимое поля input с id=&quot;id&quot; var id = $(&quot;input#id&quot;).val(); // при клике по блоку с class=&quot;.button_ID&quot;...... $(&quot;.button_&quot;+id+&quot;&quot;).click(function() {</pre> А теперь взглянем на html<br> &lt;input type=&quot;hidden&quot; name=&quot;id&quot; id=&quot;id&quot; value=&quot;&#039;.$i.&#039;&quot; class=&quot;text-input&quot; /&gt; <br> &lt;input type=&quot;submit&quot; name=&quot;submit&quot; class=&quot;button_&#039;.$i.&#039;&quot; id=&quot;submit_btn&quot; value=&quot;В корзину&quot; /&gt;<br> Алгоритм изначально неверный. Во всех полях name=&quot;id&quot; одинаковый id=&quot;id&quot;, который и передает первое значение из цикла, а class=&quot;submit_btn&quot; тут вообще не при чем, и я подрзреваю, что он просто задает стиль кнопки. В любом случае в JS всегда будет передаваться команда на срабатывание события для блока .button_1, не зависимо от того, по какому блоку был клик.<br> <br> Блин, я Капитан Очевидность, кэп.</blockquote> Если это в цикле то как минимум кривой хтмл будет и не рабочий js, будет реагировать всегда на первую позицию, не зависимо от того какую выбрали на самом деле https://visavi.net/topics/27003/453899 AJAX.Выполнение нескольких действий ramzes Thu, 01 Dec 2011 16:15:27 +0400 Сообщения https://visavi.net/topics/27003/453899 Понятно.Ладно, спасибо за помощь парни!<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> https://visavi.net/topics/27003/453875 AJAX.Выполнение нескольких действий Александр Thu, 01 Dec 2011 15:46:09 +0400 Сообщения https://visavi.net/topics/27003/453875 9. <strong>dima.london</strong>, слишком много букв, да я даже толком не читал посты тут <img src="https://visavi.net/uploads/stickers/D.gif" alt="D"> <br> согласен что подход изначальной не верный https://visavi.net/topics/27003/453812 AJAX.Выполнение нескольких действий Алексей Thu, 01 Dec 2011 13:58:45 +0400 Сообщения https://visavi.net/topics/27003/453812 8. <strong>megabit</strong>, категорически не согласен. <br> Обрати внимание на начало JS. Я даже закомментирую:<br> <pre class="prettyprint"> $(function() { // id - это содержимое поля input с id=&quot;id&quot; var id = $(&quot;input#id&quot;).val(); // при клике по блоку с class=&quot;.button_ID&quot;...... $(&quot;.button_&quot;+id+&quot;&quot;).click(function() {</pre> А теперь взглянем на html<br> &lt;input type=&quot;hidden&quot; name=&quot;id&quot; id=&quot;id&quot; value=&quot;&#039;.$i.&#039;&quot; class=&quot;text-input&quot; /&gt; <br> &lt;input type=&quot;submit&quot; name=&quot;submit&quot; class=&quot;button_&#039;.$i.&#039;&quot; id=&quot;submit_btn&quot; value=&quot;В корзину&quot; /&gt;<br> Алгоритм изначально неверный. Во всех полях name=&quot;id&quot; одинаковый id=&quot;id&quot;, который и передает первое значение из цикла, а class=&quot;submit_btn&quot; тут вообще не при чем, и я подрзреваю, что он просто задает стиль кнопки. В любом случае в JS всегда будет передаваться команда на срабатывание события для блока .button_1, не зависимо от того, по какому блоку был клик.<br> <br> Блин, я Капитан Очевидность, кэп. https://visavi.net/topics/27003/453811 AJAX.Выполнение нескольких действий Дмитрий Thu, 01 Dec 2011 13:56:18 +0400 Сообщения https://visavi.net/topics/27003/453811 7. <strong>dima.london</strong>, ну ты все же что то написал<br> а проблема в том что id на странице один вот и добавлял только один товар <br> <blockquote class="blockquote"><br> class=&quot;button_&#039;.$i.&#039;&quot; id=&quot;submit_btn&quot;<br> </blockquote> обрабатывалась только одна кнопка submit_btn и button_0<br> достаточно изменить так<br> <blockquote class="blockquote"><br> id=&quot;button_&#039;.$i.&#039;&quot; class=&quot;submit_btn&quot;<br> </blockquote> <pre class="prettyprint"> $(&#039;.submit_btn&#039;).onclick(..); </pre> https://visavi.net/topics/27003/453738 AJAX.Выполнение нескольких действий Алексей Thu, 01 Dec 2011 12:46:28 +0400 Сообщения https://visavi.net/topics/27003/453738 <blockquote class="blockquote"><strong>megabit</strong> (1 Декабря 2011 / 09:19)<br> Незря наверно люди придумали обработку событий <img src="https://visavi.net/uploads/stickers/xmm.gif" alt="xmm"> </blockquote> Читай внимательно первый пост. Какая была задача? Или мне надо было полностью скрипт ему написать? С обработкое repsone, парсингом и занесением в куки и БД? Ага.<br> <br> <em><span style="font-size:x-small">Добавлено через 01:44 сек.</span></em><br> возьми и напиши, чо <img src="https://visavi.net/uploads/stickers/xmm.gif" alt="xmm"> https://visavi.net/topics/27003/453717 AJAX.Выполнение нескольких действий Дмитрий Thu, 01 Dec 2011 12:31:01 +0400 Сообщения https://visavi.net/topics/27003/453717 <blockquote class="blockquote"><strong>dima.london</strong> (1 Декабря 2011 / 09:14)<br> Пример посложнее, с красотой и проверкой на вшивость.<br> <pre class="prettyprint">&lt;style&gt; .t_cont{ height&#58;30px; line-height&#58;30px; padding-left&#58;10px; border-bottom&#58; 1px solid #222; margin&#58;0 0 5px 5px; padding&#58;0 0 5px 5px; } .t_name{ float&#58; left; width&#58;100px; height&#58;30px; line-height&#58;30px; margin-left&#58;10px; } .t_submit{ float&#58; left; width&#58;150px; height&#58;30px; line-height&#58;30px; color&#58;#fff; background-color&#58;green; cursor&#58;pointer; font-weight&#58;700; text-align&#58;center; } &lt;/style&gt; &lt;script type=&quot;text/javascript&quot;&gt; function click_button(id) { var rep = $(&#039;div#submit_&#039; + id).text(); if (rep != &#039;Добавлено&#039;) { /* тут код добавления в корзину */ $(&#039;div#submit_&#039; + id).css(&#039;backgroundColor&#039;, &#039;red&#039;); $(&#039;div#submit_&#039; + id).text(&#039;Добавлено&#039;); alert(&#039;Товар № &#039; + id + &#039; успешно куплен&#039;); } else { alert(&#039;Мы не продаем один и тот же товар 2 раза&#039;); } }; &lt;/script&gt; &lt;?php $i=0; while ($i++&lt;5) { $repsone = &#039;&lt;div class=&quot;t_cont&quot;&gt;&#039;; $repsone.= &#039;&lt;div class=&quot;t_name&quot;&gt;Товар № &#039; . $i . &#039;&lt;/div&gt;&#039;; $repsone.= &#039;&lt;div class=&quot;t_submit&quot; id=&quot;submit_&#039; . $i . &#039;&quot; onclick=&quot;click_button(&#039; . $i . &#039;);&quot;&gt;В корзину&lt;/div&gt;&#039;; $repsone.= &#039;&lt;/div&gt;&#039;; echo $repsone; } ?&gt;</pre></blockquote> Незря наверно люди придумали обработку событий <img src="https://visavi.net/uploads/stickers/xmm.gif" alt="xmm"> https://visavi.net/topics/27003/453665 AJAX.Выполнение нескольких действий Алексей Thu, 01 Dec 2011 10:19:46 +0400 Сообщения https://visavi.net/topics/27003/453665 Пример посложнее, с красотой и проверкой на вшивость.<br> <pre class="prettyprint">&lt;style&gt; .t_cont{ height&#58;30px; line-height&#58;30px; padding-left&#58;10px; border-bottom&#58; 1px solid #222; margin&#58;0 0 5px 5px; padding&#58;0 0 5px 5px; } .t_name{ float&#58; left; width&#58;100px; height&#58;30px; line-height&#58;30px; margin-left&#58;10px; } .t_submit{ float&#58; left; width&#58;150px; height&#58;30px; line-height&#58;30px; color&#58;#fff; background-color&#58;green; cursor&#58;pointer; font-weight&#58;700; text-align&#58;center; } &lt;/style&gt; &lt;script type=&quot;text/javascript&quot;&gt; function click_button(id) { var rep = $(&#039;div#submit_&#039; + id).text(); if (rep != &#039;Добавлено&#039;) { /* тут код добавления в корзину */ $(&#039;div#submit_&#039; + id).css(&#039;backgroundColor&#039;, &#039;red&#039;); $(&#039;div#submit_&#039; + id).text(&#039;Добавлено&#039;); alert(&#039;Товар № &#039; + id + &#039; успешно куплен&#039;); } else { alert(&#039;Мы не продаем один и тот же товар 2 раза&#039;); } }; &lt;/script&gt; &lt;?php $i=0; while ($i++&lt;5) { $repsone = &#039;&lt;div class=&quot;t_cont&quot;&gt;&#039;; $repsone.= &#039;&lt;div class=&quot;t_name&quot;&gt;Товар № &#039; . $i . &#039;&lt;/div&gt;&#039;; $repsone.= &#039;&lt;div class=&quot;t_submit&quot; id=&quot;submit_&#039; . $i . &#039;&quot; onclick=&quot;click_button(&#039; . $i . &#039;);&quot;&gt;В корзину&lt;/div&gt;&#039;; $repsone.= &#039;&lt;/div&gt;&#039;; echo $repsone; } ?&gt;</pre> https://visavi.net/topics/27003/453649 AJAX.Выполнение нескольких действий Дмитрий Thu, 01 Dec 2011 09:14:02 +0400 Сообщения https://visavi.net/topics/27003/453649 3. <strong>PR0Z0N</strong>, облегченный вариант<br> <pre class="prettyprint">&lt;script type=&quot;text/javascript&quot;&gt; function click_button(id) { alert(&#039;Товар № &#039; + id); }; &lt;/script&gt; &lt;?php $i=0; while ($i++&lt;5) { $repsone = &#039;Товар № &#039; . $i; $repsone.= &#039; &amp;nbsp; &lt;input type=&quot;submit&quot; onclick=&quot;click_button(&#039; . $i . &#039;)&quot; value=&quot;В корзину&quot; /&gt;&#039;; echo &#039;&lt;p&gt;&#039; . $repsone . &#039;&lt;/p&gt;&#039;; } ?&gt;</pre> https://visavi.net/topics/27003/453640 AJAX.Выполнение нескольких действий Дмитрий Thu, 01 Dec 2011 08:41:00 +0400 Сообщения https://visavi.net/topics/27003/453640 2. <strong>dima.london</strong>, спасибо за подсказку, но че то так работать не хочет... https://visavi.net/topics/27003/453634 AJAX.Выполнение нескольких действий Александр Thu, 01 Dec 2011 08:23:35 +0400 Сообщения https://visavi.net/topics/27003/453634 Вместо <br> <pre class="prettyprint"> var id = $(&quot;input#id&quot;).val(); $(&quot;.button_&quot;+id+&quot;&quot;).click(function() {</pre> попробуй<br> <pre class="prettyprint"> function click_button(id) {</pre> тогда кнопки будут такие<br> <pre class="prettyprint">&lt;input type=&quot;submit&quot; name=&quot;submit&quot; class=&quot;button_&#039; . $i . &#039;&quot; onclick=&quot;click_button(&#039; . $i . &#039;)&quot; id=&quot;submit_btn&quot; value=&quot;В корзину&quot; /&gt; </pre> Короче, алгоритм такой. Вообще убери поле hidden, создай ф-ю click_button(), передавай в нее ID товара, и на onclick кнопки повесь эту ф-ю. https://visavi.net/topics/27003/453615 AJAX.Выполнение нескольких действий Дмитрий Thu, 01 Dec 2011 05:20:02 +0400 Сообщения https://visavi.net/topics/27003/453615 Всем доброй ночи!Есть такой скрипт, который добавляет допустим какой либо Товар в корзину , без обновления страницы (пример <a href="http://upwap.ru/d/1865412/279a308add04d4803fdf88004ed6908a/1.png" target="_blank" rel="nofollow"> 1 </a>, <a href="http://upwap.ru/d/1865422/54217e2d0052f47a798015004ed692ab/2.png" target="_blank" rel="nofollow"> 2</a>).Но проблема в том что он добавляет только один товар, который самый первый, остальные кнопки не работают, а надо чтобы была возможность добавить все товары.Ajax я только изучаю, весь вечер вожусь, не могу разобраться.Пробывал использовать циклы в ajax, не помогает, видимо не так делал.Вот собственно сам код:<br> <pre class="prettyprint"> ... &lt;script src=&quot;jquery-1.2.3.pack.js&quot;&gt;&lt;/script&gt; &lt;script type=&quot;text/javascript&quot;&gt; $(function() { var id = $(&quot;input#id&quot;).val(); $(&quot;.button_&quot;+id+&quot;&quot;).click(function() { var dataString = &#039;id=&#039;+ id; $.ajax({ type&#58; &quot;POST&quot;, url&#58; &quot;data.php&quot;, data&#58; dataString, success&#58; function() { $(&#039;#test_form_&#039;+id+&#039;&#039;).html(&quot;&lt;div id=&#039;message&#039;&gt;&lt;/div&gt;&quot;); $(&#039;#message&#039;).html(&quot;Товар №&quot;+id+&quot; добавлен&quot;) .hide() .fadeIn(1200, function() { }); } }); return false; }); }); &lt;/script&gt; &lt;/head&gt;&lt;body&gt; &lt;?php $i=0; while ($i++&lt;5) { echo &#039;&lt;div id=&quot;test_form_&#039;.$i.&#039;&quot;&gt;&lt;form name=&quot;contact&quot; action=&quot;&quot;&gt;Товар № &#039;.$i.&#039; &lt;input type=&quot;hidden&quot; name=&quot;id&quot; id=&quot;id&quot; value=&quot;&#039;.$i.&#039;&quot; class=&quot;text-input&quot; /&gt; &lt;input type=&quot;submit&quot; name=&quot;submit&quot; class=&quot;button_&#039;.$i.&#039;&quot; id=&quot;submit_btn&quot; value=&quot;В корзину&quot; /&gt;&lt;/form&gt;&lt;/div&gt;&lt;br/&gt;&#039;; } ?&gt; ... </pre> Подскажите пожалуйста как правильно сделать? https://visavi.net/topics/27003/453510 AJAX.Выполнение нескольких действий Александр Thu, 01 Dec 2011 00:42:13 +0400 Сообщения https://visavi.net/topics/27003/453510