Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][JavaScript]Formularz.. aktualizacja
pa-jong
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 21.02.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,
tak prosto z mostu, potem będę sie tłumaczył (IMG:style_emoticons/default/wink.gif)

formularz otwieram tak:
  1. <form action="index.php?tab=koszyk&action=update" method="post" id="cart">



w tej części po kliknięciu w link "zmień ilość produktów" wykonuje się skrypt który pokazuje diva z polem input z którym mam problem..
  1. $output[] = ' <td valign="top">';
  2. $output[] = ' <div style="display:inline;" id="count'.$id.'">';
  3. $output[] = ' <a href="java script:void(0)" class="ui-icon ui-icon-pencil" style="float: left; cursor: auto; " title="Zmień ilość produktów" onclick="$("#count'.$id.'").attr("style","display:none");$("#countUpdate'.$id.'").attr("style","display:inline");">';
  4. $output[] = ' </a>'.$qty.'';
  5. $output[] = ' </div>';
  6. $output[] = ' <div style="display:none;" id="countUpdate'.$id.'">';
  7. $output[] = ' <a href="java script:void(0)" class="ui-icon ui-icon-close" style="float: left; cursor: auto; " onclick="$("#countUpdate'.$id.'").attr("style","display:none");$("#count'.$id.'").attr("style","display:inline");">';
  8. $output[] = ' </a>';
  9. $output[] = ' <input name="qty'.$id.'" title="Enter = zapisz" class="editores" style="width:20px;" type="text" value="'.$qty.'" onkeypress="handleKeyPress(event,this.form)" >';
  10. $output[] = ' </div></td>';



a tak usuwam.
  1. $output[] = ' <td valign="top">';
  2. $output[] = " <a href='java script:delete(\"".$id."\",\"delete\")' class='ui-icon ui-icon-trash' style='float: left; cursor: auto;' title='usuń z zamówienia'>";
  3. $output[] = ' </a></td>';




a tutaj skrypty obsługujące.

  1.  
  2.  
  3. // Submit po naciśnięciu Enter
  4. function handleKeyPress(e,form){
  5. var key=e.keyCode || e.which;
  6. if (key==13){
  7. form.submit();
  8. }
  9. }
  10.  
  11. // Usuń z zamówienia
  12. function delete(idp,akcja)
  13. {
  14. $.ajax({
  15. url: 'cart.php',
  16. type: 'POST',
  17. data: {
  18. tryb : 'usun_z_koszyka' ,
  19. id_przedmiotu : idp,
  20. action: akcja
  21. },
  22. success: function(odpowiedz)
  23. {
  24.  
  25. //document.getElementById('info').style.display='block';
  26. $('#info').fadeIn('slow');
  27. setTimeout('ukryj()',2000);
  28. $('#infotext').html('Produkt usunięty z zamówienia.');
  29. // $('#koszyk').load('cart.php');
  30.  
  31. // alert('odpowiedz');
  32.  
  33. },
  34. error: function(){
  35.  
  36. document.getElementById('info').style.display='block';
  37.  
  38. setTimeout('ukryj()',1500);
  39. $('#infotext').html('Błąd Połączenia - Spróbój jeszcze Raz.');
  40.  
  41. //alert('Błąd połączenia ajax');
  42.  
  43. }
  44.  
  45.  
  46. });
  47. }
  48.  
  49.  
  50. function ukryj() {
  51.  
  52. $('#info').fadeOut('slow');
  53.  
  54. }
  55.  


co chcę osiągnąć, to aby zaktualizować zamówienie bez przeładowania strony
czyli tak jak to jest w przypadku usuwania.
czytałm próbowałem modyfikować funkcję odpowiedzialną za usuwanie, niestety moje próby spełzły na niczym..
niestety moja znajomość javascriptu tudziez jQuery mocno kuleje i dlatego zwracam się do was z prośbą o pomoc..
potrzebuje wskazówek, przykładów na których mógłbym się oprzeć i zastosować w moim przypadku..
za wszelką pomoc dziękuje (IMG:style_emoticons/default/wink.gif)

// edit

zapomniałem dać skrypt obslugujący update

  1. switch ($action) {
  2. case 'add':
  3. if ($cart) {
  4. $cart .= ','.$_POST['id_przedmiotu'];
  5. } else {
  6. $cart = $_POST['id_przedmiotu'];
  7. }
  8. break;
  9. case 'delete':
  10. if ($cart) {
  11. $items = explode(',',$cart);
  12. $newcart = '';
  13. foreach ($items as $item) {
  14. //if ($_GET['id'] != $item) {
  15. if ($_POST['id_przedmiotu'] != $item) {
  16. if ($newcart != '') {
  17. $newcart .= ','.$item;
  18. } else {
  19. $newcart = $item;
  20. }
  21. }
  22. }
  23. $cart = $newcart;
  24. }
  25. break;
  26. case 'update':
  27. if ($cart) {
  28. $newcart = '';
  29. foreach ($_POST as $key=>$value) {
  30. if (stristr($key,'qty')) {
  31. $id = str_replace('qty','',$key);
  32. $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
  33. $newcart = '';
  34. foreach ($items as $item) {
  35. if ($id != $item) {
  36. if ($newcart != '') {
  37. $newcart .= ','.$item;
  38. } else {
  39. $newcart = $item;
  40. }
  41. }
  42. }
  43. for ($i=1;$i<=$value;$i++) {
  44. if ($newcart != '') {
  45. $newcart .= ','.$id;
  46. } else {
  47. $newcart = $id;
  48. }
  49. }
  50. }
  51. }
  52. }
  53. $cart = $newcart;
  54. break;
  55. }
  56.  
  57.  
  58. //// zdublowany update z $_GET używany obecnie..
  59. if ($_GET['action'] == 'update') {
  60. if ($cart) {
  61. $newcart = '';
  62. foreach ($_POST as $key=>$value) {
  63. if (stristr($key,'qty')) {
  64. $id = str_replace('qty','',$key);
  65. $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
  66. $newcart = '';
  67. foreach ($items as $item) {
  68. if ($id != $item) {
  69. if ($newcart != '') {
  70. $newcart .= ','.$item;
  71. } else {
  72. $newcart = $item;
  73. }
  74. }
  75. }
  76. for ($i=1;$i<=$value;$i++) {
  77. if ($newcart != '') {
  78. $newcart .= ','.$id;
  79. } else {
  80. $newcart = $id;
  81. }
  82. }
  83. }
  84. }
  85. }
  86. $cart = $newcart;
  87. }


Ten post edytował pa-jong 24.04.2012, 21:59:51
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 15:22