У меня есть скрипт магазина и в нём следующий код: Код (Text): <?php print '<center> <table class="table ipb_table" border="0" cellpadding="2" cellspacing="3"> <tr align="center" bordercolor="red"> <td class="table ipb_table" width="100"><font color = "#0A6E0B"><strong>Товар</strong></font></td> <td class="table ipb_table" width="50"><font color = "#0A6E0B"><strong>ID</strong></font></td> <td class="table ipb_table" width="100"><font color = "#0A6E0B"><strong>Название</strong></font></td> <td class="table ipb_table" width="100"><font color = "#0A6E0B"><strong>Цена</strong></font></td> <td class="table ipb_table" width="100"><font color = "#0A6E0B"><strong>Количество</strong></font></td> <td class="table ipb_table" width="100"><font color = "#0A6E0B"><strong>Купить</strong></font></td> </tr>'; while($shop = mysql_fetch_assoc($result2)) { print '<tr align="center"> <td><strong><img src="'.$picdir.$shop["item_id"].'.png'.'"></strong></td> <td><strong>' . $shop["item_id"] . '</strong></td> <td><strong>' . $shop["name"] . '</strong></td> <td><strong>' . $shop["price"] . ' руб.</strong></td> <td><strong>' . $shop["stack"] . ' шт.</strong></td> <td><strong> <form action="'.$faction.'" method="post"> Введите количество: <p><INPUT SIZE="1" MAXLENGTH="3" TYPE="TEXT" ID="count" NAME="count" VALUE="1"></p> <INPUT TYPE="HIDDEN" NAME="nazvanie" ID="nazvanie" VALUE ="' . $shop["name"] . '"> <INPUT TYPE="HIDDEN" NAME="icount" ID="icount" VALUE ="' . $shop["stack"] . '"> <INPUT TYPE="HIDDEN" NAME="iprice" ID="iprice" VALUE ="' . $shop["price"] . '"> <INPUT TYPE="HIDDEN" NAME="username10" ID="username10" VALUE ="'.$username.'"> <p><button class="ipsButton" type="button" id="buy3" value="' . $shop["item_id"] . '" onClick="buy1();">Купить</button></p>'; if($username == 1 || $username == 2){ print '<p><button class="ipsButton" value="' . $shop["item_id"] . '" name="del" type="submit">Удалить</button></p><br>'; print '<p>Новая цена: <INPUT TYPE="text" NAME="price_new" SIZE="5" MAXLENGTH="5"><INPUT TYPE="HIDDEN" NAME="edit_id" value="' . $shop["item_id"] . '"></p><br> <p><INPUT class="ipsButton" TYPE="submit" name="submit_edit" VALUE="Изменить"></p>'; } print '</form></strong></td> </tr>'; } print "</table></center>"; ?> Проблема в следующем: При нажатии на купить, он берёт данные только первого товара независимо от того, какой выбран. При нажатии на купить выполняется следующий скрипт: Код (Text): <script type="text/javascript" src="/jquery.js"></script> <script type="text/javascript"> function buy1() { var username10 = $('#username10').val(); var nazvanie = $('#nazvanie').val(); var icount = $('#icount').val(); var iprice = $('#iprice').val(); var count = $('#count').val(); var buy4 = $('#buy3').val(); $.ajax({ type: "POST", data: "username10="+username10+"&nazvanie="+nazvanie+"&icount="+icount+"&iprice="+iprice+"&count="+count+"&buy0="+buy4, url: 'engine/modules/shop/pokupka.php', success: function(data) { alert(data); } }); } </script> Какой товар не выбирай, все данные берутся именно от первого. Но если использовать такой код у кнопки (без AJAX): Код (Text): <p><button class="ipsButton" value="' . $shop["item_id"] . '" name="buy" type="submit">Купить</button></p> , то всё нормально. Как это можно исправить? Спасибо.
offtopic: чтобы код в сообщении был с подсветкой синтаксиса, можно указать язык, типа [ code=php ] ... [ /code ] в варианте JS не вижу item_id, наверное в этом проблема ) вникать глубже ломает. пользуй firebug, ставь alert-ы в коде, в общем отлаживай
Код (PHP): <button class="ipsButton" type="button" id="buy3" value="' . $shop["item_id"] . '" onClick="buy1();">Купить</button Код (Text): var buy4 = $('#buy3').val(); Вот оттуда берётся значение.
Мне тут посоветовали использовать классы. Проблема в том, что создаётся много элементов и у всех одинаковый ID. Может кто-то помочь с кодом? Спасибо.
это верно, id элемента DOM лучше делать уникальным ))) делай для каждого товара уникальный id, а внутри элемента с товаром находи элементы по классу.