Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.

[javascript] Débugguer un script

Discussion dans 'Développement web' créé par iPascal, 21 Novembre 2008.

Modérateurs: Nephou
  1. iPascal

    iPascal Membre junior

    Inscrit:
    20 Novembre 2007
    Messages:
    54
    J'aime reçus:
    2
    Salut à tous :coucou:

    Pour améliorer la facilité d'achat avec paypal sur un site dont je m'occupe, j'ai mis en place un script javascript. Ce site vends un jeu de société et grâce au script je souhaite que le prix s'affiche tout seul en fonction de la quantité choisie par le client.

    Or, n'y connaissant rien en javascript, j'ai juste appris quelques bases en une journée:siffle:
    Mon script est donc fonctionnel sous Safari et Firefox mais pas sur... Internet Explorer (utilisé par 70% des visiteurs!). Il me met qu'il y a une erreur sur la page et les champs ne se renseignent pas tout seul comme je le voudrais.

    Je pense que la logique de mon script est bonne mais que je l'ai mal formulé (normal j'apprends!) :sick: Mon idée :
    Code (Text):
    quantity = quantité de jeux
    pu = prix unitaire
    pureduc = prix unitaire avec réduction à partir de 4 jeux
    amount = prix unitaire en fonction de la quantité
            donc amount=pu si quantity <4 sinon amount=pureduc
     
    Voici mon script :
    Code (Text):

    <script>
    function cal()
    {
    var pu=document.france.pu.value;
    var pureduc=document.france.pureduc.value;
    var quantity=document.france.quantity.value;
    if (quantity==0 || quantity=="0")
        {
        var p=""
        }
    else
        {
        if(quantity<4)
            {
            var amount=pu;
            document.france.amount.value=amount;
            var p=pu*quantity;
            document.france.p.value=p;
            }
        else
            {
            var amount=pureduc;
            document.france.amount.value=amount;
            var p=pureduc*quantity;
            document.france.p.value=p;
            }
        }
    }
    </script>
    Et mon formulaire (simplifié, en principe sous forme de tableau)
    Code (Text):

    <form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="france" id="france">
    <select name="quantity" id="quantity" onchange="cal(this)">
      <option value="0">S&eacute;lectionnez la quantit&eacute;</option>
      <option value="1">1 Coffret</option>
      <option value="2">2 Coffrets</option>
      <option value="3">3 Coffrets</option>
      <option value="4">4 Coffrets</option>
      <option value="5">5 Coffrets</option>
      <option value="6">6 Coffrets</option>
      <option value="7">7 Coffrets</option>
      <option value="8">8 Coffrets</option>
      <option value="9">9 Coffrets</option>
      <option value="10">10 Coffrets</option>
    </select>
    <input name="pu" type="hidden" disabled="disabled" id="pu" value="29" size="5" readonly="true" />
    <input name="pureduc" type="hidden" disabled="disabled" id="pureduc" value="26.10" size="5" readonly="true" />
    <input name="amount" type="text" id="amount" onchange="cal(this)" size="5" maxlength="5" readonly="true"/>
    <input name="p" type="text" disabled="disabled" onchange="cal(this)" size="8" readonly="true"/>
    <input type="hidden" name="cmd" value="_xclick" />
    <input type="hidden" name="business" value="commande@multiplix.net" />
    <input type="hidden" name="item_name" value="Coffret(s) MultipliX" />
    <input type="hidden" name="shipping" value="0.00" />
    <input type="hidden" name="page_style" value="MultipiX" />
    <input type="hidden" name="no_shipping" value="2" />
    <input type="hidden" name="return" value="http://www.multiplix.net/fr-commander/fr-paiement_reussi.html" />
    <input type="hidden" name="currency_code" value="EUR" />
    <input type="hidden" name="lc" value="FR" />
    <input type="hidden" name="bn" value="PP-BuyNowBF" />
    <input type="image" src="https://www.paypal.com/fr_FR/FR/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="Effectuez vos paiements via PayPal : une solution rapide, gratuite et s&eacute;curis&eacute;e" />
                  <img alt="Acheter" border="0" src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" width="1" height="1" />
               
    </form>
     
    Note 1 : Voici la page de test pour que vous puissiez voir le problème directement. Par contre ne faîtes pas attention au code et à la présentation en tableau SVP:siffle:. Je suis en train de refaire le site en essayant de respecter les standards actuels (présentation en css...)

    Note 2 : Voici la page actuelle qui est moins claire et surtout qui ne tient pas compte de la quantité. En fait lorsque le client choisit la quantité, il change la variable amount (prix) et non la variable quantity. Une fois arrivé sur le site de paypal, s'il a choisi 2 jeux à 29 euros, ça sera marqué UN jeu à 58 euros et non DEUX jeux pour 58 euros au total.

    ++ :coucou:

    Edit: PS: après avoir rédigé mon post, je me suis aperçu que la présentation n'était pas aussi claire que ça. Je pense qu'il faudrait que je mette 1 par défaut pour la quantité pour que le visiteur voit le prix au premier coup d'oeil
     
  2. grumff

    grumff Membre d’élite
    Club MacG

    Inscrit:
    9 Novembre 2000
    Messages:
    3 606
    J'aime reçus:
    99
    J'ai lut en diagonale, ça a peut-être rien à voir, mais évite d'accéder aux éléments en document.formulaire.xxx...
    C'est super lourd à maintenir quand tu modifie une page, et il y a des choses qui passent parfois différement d'un navigateur à l'autre. Mets plutôt des attributs "id" sur tes champs de texte, et utilise document.getElementById('monIdentifiant')
    Mais sinon, les scripts qui passent partout sauf sous IE, beeen, faudra t'y habituer. ;)
     
  3. grumff

    grumff Membre d’élite
    Club MacG

    Inscrit:
    9 Novembre 2000
    Messages:
    3 606
    J'aime reçus:
    99
    Bon, après une lecture un peu plus approfondie, je vois rien d'anormal, mais IE a tendance à ne plus rien interpréter comme javascript dès qu'il y a un truc qui lui va pas dans la page... Vérifie tes autres scripts, en particulier ceux qui précèdent celui là, et double click sur le triangle jaune en bas à gauche dans IE pour avoir un minimum d'information sur l'erreur (bon souvent, c'est vraiment le strict minimum, mais parfois il y a la ligne, et de temps à autre le numéro est juste...)
     
  4. molgow

    molgow Vétéran
    Club MacG

    Inscrit:
    4 Janvier 2002
    Messages:
    5 493
    J'aime reçus:
    612
    As-tu essayé ta page avec un débuggeur JavaScript comme Firebug ?
     
  5. grumff

    grumff Membre d’élite
    Club MacG

    Inscrit:
    9 Novembre 2000
    Messages:
    3 606
    J'aime reçus:
    99
    son problème est sous ie, y'a bien un débugueur, mais, il est pas spécialement stable... Et en toute bonne logique windows pour l'activer il faut décocher la case de désactivation dans les options internet. =) (+ relancer ie + peut-être installer un truc en plus je me souviens plus)
     
  6. iPascal

    iPascal Membre junior

    Inscrit:
    20 Novembre 2007
    Messages:
    54
    J'aime reçus:
    2
    Merci pour votre aide. Je n'ai pas réussi à me servir de firebug. J'ai bien réussi à lancer le débugger d'IE mais il n'a pas su corriger mon script.
    Finalement j'ai trouvé mon erreur tout seul. C'était juste 2 balises qui étaient mal nommées et qui devaient entrer en conflit.
    :coucou:
     
Modérateurs: Nephou
Chargement...

iOccasion - Achetez un produit Apple d'occasion

refurb Apple