Mon bouton Ajax ne fonctionne pas toujours

WRInaute discret
Hello a tous,

J'ai une boutique oscommerce et j'ai installer quelques contribution.

J'ai par la suite fait quelque modification et ajouter plusieurs de mes propre script.

Mais bon, la derniere chose que j'ai essayer de faire est une petite fonction AJAX (Je suis vraiment debutant) mais mon bouton ne fonctionne pas toujours on dirait. Bref ce que moi j'ai rajouter et qui ne fonctionne pas c'est la phrase "Vous avez XXX unités de cet item dans votre panier actuellement."

sur cette page:
http://www.khe opsinternational.ca/catalog/product_info.php?products_id=1036 (enelever l'espace)

***Vous devrez cliquer sur le bouton dans panier pour voir la phrase

Vous remarquerer que mon bouton s'emble pas fonctionner des fois et que ma phrase ne suit pas toujours la shopping cart.

Auriez vous une idée de quel pourrait etre le probleme?

Merci d'avance!
 
WRInaute discret
Salut,

Pour moi :
Sous Firefox il n'y pas de problème.
Par contre sous IE lorsque tu charge la page et que tu clique sur le bouton une 1ere fois ton bouton n'incrémente pas la phrase mais le panier fonctionne bien.
Pour les click suivant il n'y pas de problème.

Pour t'aider il faudrait que tu nous montre ton code.

Bye,
 
WRInaute discret
Babylon a dit:
Salut,

Pour moi :
Sous Firefox il n'y pas de problème.
Par contre sous IE lorsque tu charge la page et que tu clique sur le bouton une 1ere fois ton bouton n'incrémente pas la phrase mais le panier fonctionne bien.
Pour les click suivant il n'y pas de problème.

Pour t'aider il faudrait que tu nous montre ton code.

Bye,
Bon voici le javascript:
Code:
<script type="text/javascript" src="prototype.js"></script>
		<script>

			function sendRequest() {
				new Ajax.Request("qtydanscart.php?superid=<?php echo $superid ?>", 
					{ 
					onComplete: showResponse 
					});
				}


			function showResponse(req){
				$('show').innerHTML= req.responseText;
			}

		</script>

voici mon code du bouton:
Code:
// Output a form
  function tep_draw_form($name, $action, $method = 'post', $parameters = '') {
    $form = '<form name="' . tep_output_string($name) . '" action="' . tep_output_string($action) . '" method="' . tep_output_string($method) . '"';

    if (tep_not_null($parameters)) $form .= ' ' . $parameters;
// AJAX Addto shopping_cart - Begin
    if( preg_match("/add_product/i", $action) ){
      $form .= ' onSubmit="doAddProduct(this); sendRequest(); return false;"';
    }
  // AJAX Addto shopping_cart - End
    $form .= '>';

    return $form;
  }

voici mon "div":
Code:
<div id="show">
<?php 
$superid = $product_info['products_id'];
$products = $cart->get_products();
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
if ($products[$i]['id'] == $superid) {
$qtyencart = $products[$i]['quantity'];
echo"Vous avez <b>$qtyencart unités</b> de cet item dans votre panier actuellement.&nbsp;&nbsp;&nbsp;&nbsp;";
break;
}
}?></div>

et voici mon php(qtydanscart.php):
Code:
<?php
require('includes/application_top.php');

$superid = $_GET['superid'];
$products = $cart->get_products();
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
if ($products[$i]['id'] == $superid) {
$qtyencart = $products[$i]['quantity'];
echo"Vous avez <b>$qtyencart unit&eacute;s</b> de cet item dans votre panier actuellement.&nbsp;&nbsp;&nbsp;&nbsp;";
break;
}
}
?>

Merci
 
WRInaute discret
On dirait qu'il ne fait pas toujours ces etapes la... doAddProduct(this); sendRequest(); return false;"';

Et en passant le probleme est sur firefox aussi... a l'aide!!! :)
 
WRInaute discret
Bon apres plusieur recherche...je pense que ca se peus que ca soi le CACHE et donc on suggere de mettre:

myRand = parseInt(Math.random()*999999999999999);
et de le mettre comme une variable dans mon URL ici:
Code:
<script type="text/javascript" src="prototype.js"></script>
      <script>

         function sendRequest() {
            new Ajax.Request("qtydanscart.php?superid=<?php echo $superid ?>", 
               { 
               onComplete: showResponse 
               });
            }


         function showResponse(req){
            $('show').innerHTML= req.responseText;
         }

      </script>

Mais bon je suis vraiment nul en javascript et donc je ne sais pas trop comment l'ajouter comme variable dans cette ligne:
new Ajax.Request("qtydanscart.php?superid=<?php echo $superid ?>",

Merci
 
WRInaute discret
UsagiYojimbo a dit:
Code:
new Ajax.Request("qtydanscart.php?superid=<?php echo $superid ?>&rand="+myRand;
?

J'ai essayer cela, mais maintenant, la page "reload" et a la place d'ajouter 1 item, elle en rajoute 2 :(

Don a la place j'ai enelever le point-virgule et a juste ajouter une virgule...et ca marche..merci!
 
Discussions similaires
Haut