Witam,
tak prosto z mostu, potem będę sie tłumaczył (IMG:
style_emoticons/default/wink.gif)
formularz otwieram tak:
<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..
$output[] = ' <td valign="top">';
$output[] = ' <div style="display:inline;" id="count'.$id.'">';
$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");">';
$output[] = ' </a>'.$qty.'';
$output[] = ' </div>';
$output[] = ' <div style="display:none;" id="countUpdate'.$id.'">';
$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");">';
$output[] = ' </a>';
$output[] = ' <input name="qty'.$id.'" title="Enter = zapisz" class="editores" style="width:20px;" type="text" value="'.$qty.'" onkeypress="handleKeyPress(event,this.form)" >';
$output[] = ' </div></td>';
a tak usuwam.
$output[] = ' <td valign="top">';
$output[] = " <a href='java script:delete(\"".$id."\",\"delete\")' class='ui-icon ui-icon-trash' style='float: left; cursor: auto;' title='usuń z zamówienia'>";
$output[] = ' </a></td>';
a tutaj skrypty obsługujące.
// Submit po naciśnięciu Enter
function handleKeyPress(e,form){
var key=e
.keyCode
|| e
.which
; form.submit();
}
}
// Usuń z zamówienia
function delete(idp,akcja)
{
$.ajax({
url: 'cart.php',
type: 'POST',
data: {
tryb : 'usun_z_koszyka' ,
id_przedmiotu : idp,
action: akcja
},
success: function(odpowiedz)
{
//document.getElementById('info').style.display='block';
$('#info').fadeIn('slow');
setTimeout('ukryj()',2000);
$('#infotext').html('Produkt usunięty z zamówienia.');
// $('#koszyk').load('cart.php');
// alert('odpowiedz');
},
error: function(){
document.getElementById('info').style.display='block';
setTimeout('ukryj()',1500);
$('#infotext').html('Błąd Połączenia - Spróbój jeszcze Raz.');
//alert('Błąd połączenia ajax');
}
});
}
function ukryj() {
$('#info').fadeOut('slow');
}
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
switch ($action) {
case 'add':
if ($cart) {
$cart .= ','.$_POST['id_przedmiotu'];
} else {
$cart = $_POST['id_przedmiotu'];
}
break;
case 'delete':
if ($cart) {
$newcart = '';
foreach ($items as $item) {
//if ($_GET['id'] != $item) {
if ($_POST['id_przedmiotu'] != $item) {
if ($newcart != '') {
$newcart .= ','.$item;
} else {
$newcart = $item;
}
}
}
$cart = $newcart;
}
break;
case 'update':
if ($cart) {
$newcart = '';
foreach ($_POST as $key=>$value) {
$items = ($newcart != '') ?
explode(',',$newcart) : explode(',',$cart); $newcart = '';
foreach ($items as $item) {
if ($id != $item) {
if ($newcart != '') {
$newcart .= ','.$item;
} else {
$newcart = $item;
}
}
}
for ($i=1;$i<=$value;$i++) {
if ($newcart != '') {
$newcart .= ','.$id;
} else {
$newcart = $id;
}
}
}
}
}
$cart = $newcart;
break;
}
//// zdublowany update z $_GET używany obecnie..
if ($_GET['action'] == 'update') {
if ($cart) {
$newcart = '';
foreach ($_POST as $key=>$value) {
$items = ($newcart != '') ?
explode(',',$newcart) : explode(',',$cart); $newcart = '';
foreach ($items as $item) {
if ($id != $item) {
if ($newcart != '') {
$newcart .= ','.$item;
} else {
$newcart = $item;
}
}
}
for ($i=1;$i<=$value;$i++) {
if ($newcart != '') {
$newcart .= ','.$id;
} else {
$newcart = $id;
}
}
}
}
}
$cart = $newcart;
}
Ten post edytował pa-jong 24.04.2012, 21:59:51