IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Prestashop v.1.4.8 : Erreur Javascript avec So Colissimo


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 44
    Points : 24
    Points
    24
    Par défaut Prestashop v.1.4.8 : Erreur Javascript avec So Colissimo
    Bonjour,

    j'ai un gros soucis au moment de passer la commande, à l'étape frais de port où l'utilisateur choisit So Colissimo, lorsqu'il clique sur "suivant", un message apparaît :

    Erreur Fatale : Veuillez vérifier que le JavaScript est activé et recommencer l’opération.

    Après avoir contacté le support So Colissimo et enfin le support prestashop, personne a pu me venir en aide.

    Quelqu'un aurait une idée d'où cela pourrait venir?

    J'ai essayé quelques modifications :


    1) Dans les fichiers tpl (error, redirect et fancybox), le code JS entre "$(document).ready(function() //" n'était pas pris en compte. En commentant les lignes, plus de soucis, cela fonctionnement correctement."

    2) Dans le fichier Socolissimo.php
    La ligne 410 est donc 'TRPARAMPLUS' => (int)($carrierSo->id),

    Mais cela ne marche pas!

    Merci beaucoup pour ceux ou celles qui me donneront des pistes pour résoudre ce problème, car je suis complètement coincé.

    Cordialement.

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Salut serpolet pour t'aider il me faut un var_dump($this) si tu est en dev object ou var_dump($_REQUEST) si l'erreur à surgit lors d'un submit d'un form masque les données sensibles svp.
    De plus il me faut le html seulement généré dans ton navigateur de la page incriminé par le bug en question.
    Merci A+

    D'après ce que tu dit, tu présente peut être un conflit sur l'événement onload de ta page ou conflit entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    window.onload = function(){
     
    }
    //&
     
    $(document).ready(function(){
     
    });
    Essaye pour jquery est au dessus de la function onload (jquery) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    jQuery.noConflict();
    $(document).ready(function(){
     
    });
    Ou l'utilisation de la function anonyme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    (function($){
       jQuery.noConflict();
       $(document).ready(function(){
     
       });
     
       window.onload = function(){
     
       ;}
     
    });
    Je garantie rien, au vu des infos bonne chance A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 44
    Points : 24
    Points
    24
    Par défaut
    Re-bonjour, je t'avouerais que je n'ai pas les mêmes compétences que toi en javascript, apparemment d'après un des conseillers de So Colissimo, cela viendrait d'un conflit CSS...c'est peut-être le cas étant donné que lorsque je mets le thème par défaut Prestashop, cela marche.

    Le lien vers ma boutique : http://www.shilton.fr/boutique-en-ligne-shilton/


    Prenez un produit et ajouter le dans le panier et rendez-vous jusqu'à la 4ème étape, lors des frais de transport, vous verrez le bug, peut-être que vous identifierez d'avantage le problème.

    Je vous remercie beaucoup d'avoir pris le temps de lire mon problème.

    Cordialement.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 44
    Points : 24
    Points
    24
    Par défaut
    Re-bonsoir,

    J'ai réussi à résoudre le problème grâce à l'aide d'une personne sur le forum Webrankinfo.

    En effet, le thème que j'avais contenait des fichiers javascript qui ne correspondaient pas à la nouvelle version de prestashop.

    j'ai donc transférer les fichiers js/ du thème par défaut de prestashop et les ai remplacé par ceux de mon thème actuel.

    Merci pour votre aide.

    Bonne soirée.

    Cordialement.

  5. #5
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Désolé mais je comprend pas la relation entre les bugs :
    D'un côté css, et de l'autre javascript, c'est trop peu d'information pour ce qui concerne un framework en PHP avec le plugin de collissimo en PHP mais rien ne m'explique ou ce trouve cette function que tu as incriminé, même pas l'exemple de la page.
    Je suis allez jusqu'à la livraison, pas de bug graphique, ni erreur javascript sous Fifefox.
    Bref même dans le code source html généré par la page ne parle de cette function js.
    Si tu veux de l'aide je te conseil être plus explicite et précis sur les erreurs que tu as.
    Bonne soirée .

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 44
    Points : 24
    Points
    24
    Par défaut
    Bonjour, J'ai du me pencher d'avantage au problème étant donné que malgré que colisimmo fonctionne, d'autres développements que j'avais fais antérieurement ne marchent plus.

    J'ai donc trouvé les deux fichiers qui permettaient le bon fonctionnement du site et celui de colisimo:

    order-adress.js et tools .js dans le dossier js/ du thème.


    Tout est parfait, mais il me reste tout de même un soucis...c'est lorsque je changer le fichier order-adress.js, en effet, lorsque je prend celui par défaut de Prestashop, à la 3ème étape "adresse" pendant la commande, les adresses de livraisons ne s'affichent pas...Ce qui est quand même assez grave pour celui qui veut commande.

    Je me suis donc intéressé au fichier order-adress.js puisque tout vient de là, et je peux dire deux choses:

    L'affichage des adresse se fait grâce à début de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $(document).ready(function()
    {
    	updateAddressesDisplay(true);
    });
    Mais ne permets pas le fonctionnement de colisimo

    Cet autre début de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function()
    {
    	if (typeof(formatedAddressFieldsValuesList) != 'undefined')
    		updateAddressesDisplay(true);
    	resizeAddressesBox();
    });
    permet le fonctionnement de so colisimo mais pas de l'affichage des adresses...Pourriez-vous m'aider à y comprendre d'avantage?

    Merci d'avance pour vos éventuelles réponses.

    Cordialement.

  7. #7
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Salut
    $(document).ready(function()
    {
    updateAddressesDisplay(true);
    });
    Ou est la function updateAddressesDisplay?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    fuction  updateAddressesDisplay{
    //????
    };
    De plus tu dois tester si formatedAddressFieldsValuesList n'est pas undefined, et vérifier qui lui fournit les données côté serveur pour écarté le problème PHP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $(document).ready(function()
    {
    alert(formatedAddressFieldsValuesList);
    	if (typeof(formatedAddressFieldsValuesList) != 'undefined')
    		updateAddressesDisplay(true);
    	resizeAddressesBox();
    });
    function resizeAddressesBox(){
    //????????????????????????????????
    }
    On avant petit, ça manque cruellement d'information.
    Bonne soirée

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 44
    Points : 24
    Points
    24
    Par défaut
    Je comprends pas pourquoi tu me dis qu'il manque cruellement d'informations alors que j'te donne exactement le code...que j'ai et c'est tout ce que j'ai à vrai dire...

    En gros, ce fichier order-address.js permet l'affichage de colissimo sans erreur de javascript mais n'affiche pas les adresses:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    $(document).ready(function()
    {
    if (typeof(formatedAddressFieldsValuesList) != 'undefined')
      updateAddressesDisplay(true);
    resizeAddressesBox();
    });
    //update the display of the addresses
    function updateAddressesDisplay(first_view)
    {
    // update content of delivery address
    updateAddressDisplay('delivery');
    var txtInvoiceTitle = "";
    try{
      var adrs_titles = getAddressesTitles();
      txtInvoiceTitle = adrs_titles.invoice;
    }
    catch (e)
    {
    }
    // update content of invoice address
    //if addresses have to be equals...
    if ($('input[type=checkbox]#addressesAreEquals:checked').length == 1)
    {
      $('#address_invoice_form:visible').hide('fast');
      $('ul#address_invoice').html($('ul#address_delivery').html());
      $('ul#address_invoice li.address_title').html(txtInvoiceTitle);
    }
    else
    {
      $('#address_invoice_form:hidden').show('fast');
      if ($('select#id_address_invoice').val())
       updateAddressDisplay('invoice');
      else
      {
       $('ul#address_invoice').html($('ul#address_delivery').html());
       $('ul#address_invoice li.address_title').html(txtInvoiceTitle);
      }
    }
    if(!first_view)
    {
      if (orderProcess == 'order')
       updateAddresses();
    }
    return true;
    }
    function updateAddressDisplay(addressType)
    {
    if (formatedAddressFieldsValuesList.length <= 0)
      return false;
    var idAddress = $('select#id_address_' + addressType + '').val();
    buildAddressBlock(idAddress, addressType, $('#address_'+ addressType));
    // change update link
    var link = $('ul#address_' + addressType + ' li.address_update a').attr('href');
    var expression = /id_address=\d+/;
    link = link.replace(expression, 'id_address='+idAddress);
    $('ul#address_' + addressType + ' li.address_update a').attr('href', link);
    }
    function updateAddresses()
    {
    var idAddress_delivery = $('select#id_address_delivery').val();
    var idAddress_invoice = $('input[type=checkbox]#addressesAreEquals:checked').length == 1 ? idAddress_delivery : $('select#id_address_invoice').val();
     
       $.ajax({
                       type: 'POST',
                       url: baseDir + 'order.php',
                       async: true,
                       cache: false,
                       dataType : "json",
                       data: 'processAddress=true&step=2&ajax=true&id_address_delivery=' + idAddress_delivery + '&id_address_invoice=' + idAddress_invoice+ '&token=' + static_token ,
                       success: function(jsonData)
                            {
                             if (jsonData.hasError)
            {
             var errors = '';
             for(error in jsonData.errors)
              //IE6 bug fix
              if(error != 'indexOf')
               errors += jsonData.errors[error] + "\n";
             alert(errors);
            }
      },
                       error: function(XMLHttpRequest, textStatus, errorThrown) {alert("TECHNICAL ERROR: unable to save adresses \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);}
               });
       resizeAddressesBox();
    }

    Et l'autre fichier .js order-address qui permet l'affichage des adresse mais erreur de javascript avec so colisimo:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    $(document).ready(function()
    {
    updateAddressesDisplay(true);
    });
    //update the display of the addresses
    function updateAddressesDisplay(first_view)
    {
    // update content of delivery address
    updateAddressDisplay('delivery');
    // update content of invoice address
    //if addresses have to be equals...
    var txtInvoiceTitle = $('ul#address_invoice li.address_title').html();
    if ($('input[type=checkbox]#addressesAreEquals:checked').length == 1)
    {
      $('#address_invoice_form:visible').hide('fast');
      $('ul#address_invoice').html($('ul#address_delivery').html());
      $('ul#address_invoice li.address_title').html(txtInvoiceTitle);
    }
    else
    {
      $('#address_invoice_form:hidden').show('fast');
      if ($('select#id_address_invoice').val())
       updateAddressDisplay('invoice');
      else
      {
       $('ul#address_invoice').html($('ul#address_delivery').html());
       $('ul#address_invoice li.address_title').html(txtInvoiceTitle);
      }
    }
     
    if(!first_view)
    {
      if (orderProcess == 'order')
       updateAddresses();
    }
     
    return true;
    }
    function updateAddressDisplay(addressType)
    {
    if (addresses.length <= 0)
      return false;
    var idAddress = $('select#id_address_' + addressType + '').val();
    buildAddressBlock(idAddress, addressType, $('#address_'+ addressType));
    // change update link
    var link = $('ul#address_' + addressType + ' li.address_update a').attr('href');
    var expression = /id_address=\d+/;
    link = link.replace(expression, 'id_address='+idAddress);
    $('ul#address_' + addressType + ' li.address_update a').attr('href', link);
    }
    function updateAddresses()
    {
    var idAddress_delivery = $('select#id_address_delivery').val();
    var idAddress_invoice = $('input[type=checkbox]#addressesAreEquals:checked').length == 1 ? idAddress_delivery : $('select#id_address_invoice').val();
     
       $.ajax({
                       type: 'POST',
                       url: baseDir + 'order.php',
                       async: true,
                       cache: false,
                       dataType : "json",
                       data: 'processAddress=true&step=2&ajax=true&id_address_delivery=' + idAddress_delivery + '&id_address_invoice=' + idAddress_invoice+ '&token=' + static_token ,
                       success: function(jsonData)
                            {
                             if (jsonData.hasError)
            {
             var errors = '';
             for(error in jsonData.errors)
              //IE6 bug fix
              if(error != 'indexOf')
               errors += jsonData.errors[error] + "\n";
             alert(errors);
            }
      },
                       error: function(XMLHttpRequest, textStatus, errorThrown) {alert("TECHNICAL ERROR: unable to save adresses \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);}
               });
    }

    Je sais que le soucis, vient des premiers lignes du code en faisant quelques tests...après je ne m'y connais pas trop en javascript

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 44
    Points : 24
    Points
    24
    Par défaut
    Personne n'a aucune idée?

  10. #10
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Désolé pour le temps de réponse il me faudrait la partie html la page qui présente les adresses non remplits.

Discussions similaires

  1. erreurs javascript avec internet explorer
    Par cowboydeluxe dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/11/2009, 10h53
  2. Erreur Javascript avec certaines versions de IE6
    Par ymerej dans le forum SharePoint
    Réponses: 5
    Dernier message: 24/11/2008, 16h36
  3. erreur javascript pour modifier select avec tableau PHP
    Par omdafer dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/03/2008, 12h27
  4. Réponses: 2
    Dernier message: 28/02/2008, 11h15
  5. Erreur javascript avec ajaxtaglib
    Par ikane dans le forum Struts 1
    Réponses: 2
    Dernier message: 22/11/2007, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo