PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): « 1 [2]

> Найдено сообщений: 20
keilman Отправлено: 09 Февраля, 2013 - 11:46:38 • Тема: Формы и Jquery • Форум: Вопросы новичков

Ответов: 4
Просмотров: 236
Есть ма-аленькая тестовая страничка:

PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <title>Тест</title>
  4. <script src="jquery_v1.8.3.js" type="text/javascript"></script>
  5. </head>
  6.  
  7. <body>
  8. <script language="javascript" type="text/javascript">
  9. $(document).ready(function()
  10. {
  11.         $("form.forma1").submit(function()
  12.         {
  13.                 $.ajax(
  14.                 {
  15.                         type: "POST",
  16.                         url: "switch.php?action=test1",
  17.                         data:
  18.                         {
  19.                                 par1:$('input.param1').val(),
  20.                                 par2:$('input.param2').val()
  21.                         },
  22.                         success: function(html)
  23.                 {
  24.                         $("div#resultat").html(html);
  25.                 }
  26.         });
  27.         return false;
  28.         });
  29. });
  30. </script>
  31.  
  32. <form class="forma1">
  33. Параметр 1:&nbsp;<input class="param1" type="text" size="20">Параметр 2:&nbsp;<input class="param2" type="text" size="20"><input type="submit" value="Отправить">
  34. </form>
  35.  
  36. <form class="forma1">
  37. Параметр 1:&nbsp;<input class="param1" type="text" size="20">Параметр 2:&nbsp;<input class="param2" type="text" size="20"><input type="submit" value="Отправить">
  38. </form>
  39.  
  40. <div id="resultat"></div>
  41.  
  42. </body>
  43. </html>


Проблема в том, что работает только одна форма не зависимо от того по какой кнопке нажать "отправить".

Т. е. если нажать на кнопку из первой или второй формы, параметры передаются всегда из первой формы. Не понял

Подскажите знатоки!
Силен только в PHP, Ajax и Jquery только начал использовать, поэтому жду подробный ответ или замечание.
(Добавление)
Да кстати, посмотреть можно здесь этот баг, тестовая страница - www[dot]3gs[dot]su/test/

Да и не спрашивайте почему одинаковые формы. Они генерятся циклом WHILE в PHP и поэтому одинаковые названия и классы.
(Добавление)
Эта функция планируется использоваться в магазине, функция добавления товаров в корзину без перезагрузки.
keilman Отправлено: 09 Февраля, 2013 - 09:42:42 • Тема: Параметры из переменных в форме в цикле PHP "while" в JQuery • Форум: Вопросы новичков

Ответов: 6
Просмотров: 363
Проблему так и не решил!
Жду от всех хоть какой-нибудь помощи!
keilman Отправлено: 08 Февраля, 2013 - 23:36:06 • Тема: Параметры из переменных в форме в цикле PHP "while" в JQuery • Форум: Вопросы новичков

Ответов: 6
Просмотров: 363
DelphinPRO пишет:
<input type="hidden" name="name_tov[]" class="kor_name_tov"


Про такой способ я в курсе, знаю что если добавлять [] к name то автоматически расставятся ключи, но насколько я знаю и даже сейчас пробовал Jquery обращается по классу или по ID элемента, а не по "name"

По поводу serialise возможно то самое что нужно, но я так и не разобрался как мне сериализовать и рассериализовывать данные к понимаемому PHP фориату...
И как я понял при сериализации все данные поступают в базу в нечитабельном виде, мне это не нужно. Или я ошибаюсь про нечитабельный вид при сериализации?
(Добавление)
DelphinPRO пишет:
используйте метод jQuery — serialize()


Не могу на форуме нажимать "Спасибо", сообщений маловато. Фантик я еще Радость

Буду благодарен если на примерах покажете как использовать сериализацию.

Из формы параметры php в скрипт Jquery, и обратно
keilman Отправлено: 08 Февраля, 2013 - 22:38:50 • Тема: Параметры из переменных в форме в цикле PHP "while" в JQuery • Форум: Вопросы новичков

Ответов: 6
Просмотров: 363
DelphinPRO пишет:
Вопрос: зачем отправлять скрытые данные клиенту, чтобы потом их получить обратно?

Для хранения данных между переходами по страницам придумали механизм сессий.


Нет Вы не поняли меня.. У меня практически все функции на сессиях работают в магазине.
Или я не так описал проблему...
Как по другому не знаю...

Данные не поступают обратно они поступают в обработчик и в базу.
Передается: цена, id, имя товара и другие параметры, id юзера.

Проблема в том что эти данные всегда одинаковые независимо от того на каком товаре нажимаю купить.

А вот если убрать скрипт ajax, то все нормально становиться, но товар добавляется с перезагрузкой страницы.

Т. е. смысл в том чтобы определить какие параметры соответствуют какому товару и записать в базу.
Приведенный мною скрипт jquery принимает пока параметры только от одного товара, а нужно от каждого в зависимости от того по какому нажму "добавить в корзину"

Может так понятнее?
keilman Отправлено: 08 Февраля, 2013 - 22:18:12 • Тема: Параметры из переменных в форме в цикле PHP "while" в JQuery • Форум: Вопросы новичков

Ответов: 6
Просмотров: 363
Здравствуйте Уважаемые программисты!

Есть проблема.
Суть такая:

Выводится список товаров циклом WHILE из базы, на странице штук 20 товаров
в каждом есть скрытые поля input для последующей передачи параметров в корзину товаров, так вот сами понимает что циклом вывели и соответственно эта форма и inputы у нее имеют одинаковые названия во всех товарах, только параметры товара разные и соответсвуют товару, смотрим код:

PHP:
скопировать код в буфер обмена
  1. ...while($new_tovar = mysql_fetch_assoc($sql_new_tovar))
  2. {
  3.                 echo '  <span id="block_korzina">
  4.                 <form action="'.$site.$_SERVER['REQUEST_URI'].'" method="post" id="form_insert_korzina">
  5.                 <input type="hidden" name="korz_user_id" value="'.$_SESSION['user_id'].'" />
  6.                 <input type="hidden" name="korz_name_tov" value="'.$new_tovar['ctov'].'" />
  7.                 <input type="hidden" name="korz_kod_tov" value="'.$new_tovar['skod'].'" />
  8.                 <input type="hidden" name="korz_cena" value="';
  9.                 <input type="image" name="go_cart" src="'.$site.$shop.'images/go_cart.png" width="30" height="31" id="go_cart" title="Добавить в корзину" />
  10.                 <input type="hidden" name="korz_date_added" value="'.$date_real.' '.$time_real.'" />
  11.                 <input type="hidden" name="korz_status" value="0" />
  12.                 <input type="hidden" name="insert_korzina" value="form_insert_korzina" />
  13.                 </form>
  14.                 </span>';
  15. }
  16. ... [b]и еще двадцать таких форм[/b] ...


так вот как сделать чтобы скрипт Jquery c Ajax указанный ниже принимал параметры соответствующие товару при клике на кнопку "добавить в корзину", а то он принимает параметры только от первого по списку товара, а если кликать на кнопку по другим товарам он все равно принимает значения из первого товара на странице.
Т. е. мне не нужно объяснять как передать параметры, это я знаю, а как сделать чтобы скрипт отличал формы в товарах и принимал параметры от соответствующей формы товара?

Вот скрипт Jquery:

CODE (javascript):
скопировать код в буфер обмена
  1. <script language="javascript" type="text/javascript">
  2. $(document).ready(function()
  3. {
  4.         $("form#vhod").submit(function()
  5.         {
  6.                 $.ajax(
  7.                 {
  8.                         type: "POST",
  9.                         url: "pages/switch.php?check_autorise_options=options_success",
  10.                         data:
  11.                         {
  12.                                 user_login:$('input#login').val(),
  13.                                 user_parol:$('input#parol').val()
  14.                         },
  15.                         success: function(html)
  16.                 {
  17.                         $("div#autorise").html(html);
  18.                 }
  19.         });
  20.         return false;
  21.         });
  22. });
  23. </script>


Скорее проблема в нем зарыта, нужно как то записать чтобы он по каким то признакам определял формы товаров, а то он видит только форму из первого товара...

Сразу говорю, пробовал это - <input type="hidden" name="korz_kod_tov[]" value="'.$new_tovar['skod'].'" />

т. е. добавлял к name квадратные скобки, но скрипт Jquery обращается только по классу или по id елемента.

также пробовал через функцию serialise()
вот так:


PHP:
скопировать код в буфер обмена
  1. data: $(#form_insert_korzina).serialise(),


параметры принимаются скриптом, но почему то теперь только от последнего товара независимо от того по какому товару нажать "Добавить в корзину"

В ajax и jquery я вообще не силен, поэтому прошу помочь и объяснить почему так. Вернее я понимаю что не соответствуют ключи выбранным элементам, но как это правильно написать и сделать не пойму, уже все перепробовал...

Прошу помощи!

Страниц (2): « 1 [2]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB