Besoin d'aide Javascript

Bonjour,

J’ai un souci en créant mon site. J’essaye de créer ma boutique mais mon script ne fonctionne pas quand il faut ajouter un produit dans le panier. C’est un script que j’ai trouvé sur le net mais je n’y connias absolument rien… je n’en sors vraiment pas et je dois le faire fonctionner

Merci d’avance pour votre aide !!
Donc, le voici:

var kd_cde=“panier.htm”; var kd_paiement=“adresse.htm”
var kd_adresse=“adresse.htm”; var kd_adresse_f=“panier.htm”
var kd_remise=0; kd_txRemise=0.00 //(le taux de remise vaut 5%)
var kd_port=0;
var kd_taille=0;
var kd_couleur=0;
var kd_facturation=0;
var kd_info=1; var kd_info_cols=40; var kd_info_rows=5;
var kd_tel=1; var kd_fax=1;
var pathname=location.pathname;
var myDomain=pathname.substring(0,pathname.lastIndexOf(’/’))+’/’;
var dateExp=new Date();
var dateOld=new Date();
dateOld.setTime(dateExp.getTime()-1);
dateExp.setTime(dateExp.getTime()+(3652436001000));
var montantF=0;var totalF=0; var totalE=0; var masseT=0; var portF=0; var caddieOK=0; var adresseOK=0; var cdePays=""; var remiseF=0;
var taux=1
function getCookieVal(offset) {
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1) {endstr=document.cookie.length;}
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie(name) {
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen) {
var j=i+alen;
if (document.cookie.substring(i, j)==arg)
return getCookieVal (j);
i=document.cookie.indexOf(" “,i)+1;
if (i==0) break;
}
return null;
}
function SetCookie(name,value) {
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(argc > 2) ? argv[2] : null;
var path=(argc > 3) ? argv[3] : null;
var domain=(argc > 4) ? argv[4] : null;
var secure=(argc > 5) ? argv[5] : false;
document.cookie=name+”="+escape(value)+
((expires==null) ? “” : ("; expires="+expires.toGMTString()))+
((path==null) ? “” : ("; path="+path))+
((domain==null) ? “” : ("; domain="+domain))+
((secure==true) ? “; secure” : “”);
}
function format(valeur) {
var decimal=2;
var deci=Math.floor(parseFloat(valeur)Math.pow(10,decimal)) -Math.floor(parseFloat(valeur))Math.pow(10,decimal)
var val=Math.floor(parseFloat(valeur))
var val_format=val+"";
var nb=val_format.length;
for (var i=1;i<3;i++) {
if (val>=Math.pow(10,(3
i))) {
val_format=val_format.substring(0,nb-(3
i))+" "+val_format.substring(nb-(3
i));
}
}
if (deci>=0) {if (deci<10){deci=“0”+deci} val_format=val_format+"."+deci;}
return val_format;
}
function GetNbItem() {
var NbS=GetCookie(“nbitem”);
var Nb=0
if (NbS!=null) {Nb=parseInt(NbS);}
return Nb;
}
function SetNbItem(nb) {
SetCookie(“nbitem”,nb,dateExp,myDomain)
}
function AddItem(ligne) {
// Ligne est du type ref+“¤”+des+“¤”+prixU+“¤”+qte+“¤”
var NoItem=parseInt(GetNbItem())+1;
SetCookie(“itemno”+NoItem,ligne,dateExp,myDomain);
SetNbItem(NoItem);
alert(‘Ajout effectue’);

}
function SupItem(no) {
var ligne=GetCookie(“itemno”+no);
var dateAvant=new Date();
var nb=GetNbItem();
dateAvant.setTime(dateAvant.getTime() - 1);
if (ligne!=null) {
if (confirm(“Cet article va être enleve de votre pannier\nEtes-vous d’accord ?”)){
for(var i=no+1;i<=nb;i++) {
ligne=GetCookie(“itemno”+i);
SetCookie(“itemno”+(i-1),ligne,dateExp,myDomain);
}
SetNbItem(nb-1);
}
}
}
function ChangeQte(no) {
var item=new GetItem(no);
var new_qte=prompt(“Nouvelle quantite pour “+item.des+” ?”,item.qte);
new_qte=Math.round(parseInt(new_qte));
if (new_qte>0){
var ligne=item.ref+“¤”+item.des+“¤”+item.pxU+“¤”+new_qte+“¤”;
SetCookie(“itemno”+no,ligne,dateExp,myDomain);
window.location.reload();
return false;
} else {SupItem(no);return true;}
}
function SauveAdresseL(f){SauveAdresse(f)}
function SauveAdresse(f) {
var nom=f.f_nom.value; var prenom=f.f_prenom.value; var mail="";
var ad1=f.f_ad1.value; var ad2=f.f_ad2.value; var cp=f.f_cp.value; var ville=f.f_ville.value;
var pays=f.f_pays.options[f.f_pays.selectedIndex].value;
var tel=""; if (kd_tel==1){tel=f.f_tel.value;}
var fax=""; if (kd_fax==1){fax=f.f_fax.value;}
var msg=""; var c="";
if (nom==""){msg=“Saisissez votre nom”; c=“f_nom”}
if (prenom==""){msg=“Saisissez votre prenom”; c=“f_prenom”}
mail=f.f_mail.value;
if (mail.indexOf(’@’,0)==-1){msg=“L’adresse mail est invalide”; c=“f_mail”}
if (ad1==""){msg=“Saisissez votre adresse”; c=“f_ad1”}
if (cp==""){msg=“N’oubliez pas le code postal”; c=“f_cp”}
if (ville==""){msg=“Saisissez votre ville”; c=“f_ville”}
if (pays==""){msg=“Selectionnez un pays”; c=“f_pays”}
if (msg==""){
var adresse=nom+“¤”+prenom+“¤”+mail+“¤”+ad1+“¤”+ad2+“¤”+cp+“¤”+ville+“¤”+pays+“¤”+tel+“¤”+fax+“¤ “;
SetCookie(“leclient”,adresse,dateExp,myDomain)
SetCookie(“kd”,“OK”,dateExp,myDomain);
window.location=kd_cde;
return true;
} else {
alert(msg); f.elements[c].focus();
SetCookie(“kd”,“KO”,dateExp,myDomain);
return false;
}
}
function GetAdresse() {
var ad=GetCookie(“leclient”); var i=0; var j=0;
if ((ad!=””)&&(ad!=null)){
j=ad.indexOf(“¤”,i);this.nom=ad.substring(i,j); i=j+1;
j=ad.indexOf(“¤”,i);this.prenom=ad.substring(i,j); i=j+1;
j=ad.indexOf(“¤”,i);this.mail=ad.substring(i,j); i=j+1;
j=ad.indexOf(“¤”,i);this.ad1=ad.substring(i,j); i=j+1;
j=ad.indexOf(“¤”,i);this.ad2=ad.substring(i,j); i=j+1;
j=ad.indexOf(“¤”,i);this.cp=ad.substring(i,j); i=j+1;
j=ad.indexOf(“¤”,i);this.ville=ad.substring(i,j); i=j+1;
j=ad.indexOf(“¤”,i);this.pays=ad.substring(i,j); i=j+1;
j=ad.indexOf(“¤”,i);this.tel=ad.substring(i,j); i=j+1;
j=ad.indexOf(“¤”,i);this.fax=ad.substring(i,j); i=j+1;
this.exist=“YES”
} else {this.exist=“NO”}
}
function InitAdresseL(f){InitAdresse(f)}
function InitAdresse(form) {
var ad=new GetAdresse()
if (ad.exist!=“NO”)
with (form) {
elements[“f_nom”].value=ad.nom;
elements[“f_prenom”].value=ad.prenom;
elements[“f_mail”].value=ad.mail;
elements[“f_ad1”].value=ad.ad1;
elements[“f_ad2”].value=ad.ad2;
elements[“f_ville”].value=ad.ville;
elements[“f_cp”].value=ad.cp;
elements[“f_pays”].value=ad.pays;
if (kd_tel==1){elements[“f_tel”].value=ad.tel}
if (kd_fax==1){elements[“f_fax”].value=ad.fax}
}
}
function DispAdresse() {
var ad=new GetAdresse();
{var aff=“ADRESSE DE LIVRAISON :  MODIFIER
”;}
var i1=0; var i2=0;
if (ad.exist!=“NO”){
aff+="

";
var adr=ad.ad1;if (ad.ad2!=""){adr=ad.ad1+"
"+ad.ad2;}
aff+=ad.prenom+" “+ad.nom
aff+=”
"+adr+"
"+ad.cp+" “+ad.ville+”
"+ad.pays+"
"
aff+="(Mail : “+ad.mail+”)
"
if (kd_tel==1){aff+=“Tel : “+ad.tel+”
”}
if (kd_fax==1){aff+=“Fax : “+ad.fax+”
”}
aff+="

";
cdePays=ad.pays;
aff+=’’
aff+=’’
aff+=’’
aff+=’’
aff+=’’
if (kd_tel==1){aff+=’’}
if (kd_fax==1){aff+=’’}
} else {
aff+=“Aucune information saisie.


}
document.write(aff);
}
function GetItem(no) {
var l=GetCookie(“itemno”+no); var i=0; var j=0
j=l.indexOf(“¤”,i); this.ref=l.substring(i,j);i=j+1;
j=l.indexOf(“¤”,i); this.des=l.substring(i,j);i=j+1;
j=l.indexOf(“¤”,i); this.pxU=l.substring(i,j);i=j+1;
j=l.indexOf(“¤”,i); this.qte=l.substring(i,j);i=j+1;
}
function CalcPort() {
var p="?"; var m=masseT
if (kd_port==0){if (cdePays!=""){
if (m<10000){p=75}if (m<7000){p=64.50}if (m<5000){p=54.50}if (m<3000){p=44}
if (m<2000){p=39}if (m<1000){p=34}if (m<500){p=27.5}if (m<250){p=19.5}}
}
if (p!="?"){portF=p}
{portF=0}
}
function CalcRemise(){
if (kd_remise==1) {remiseF=Math.ceil(parseFloat(kd_txRemisemontantF));}
if (kd_remise==0) {remiseF=0;}
}
function DispCaddie(fond,trait,color) {
var mtF="";var aff="";
var NbItem=parseInt(GetNbItem());
if (NbItem>0) {
aff+=“Votre bon de commande :

aff+=""
aff+=“”;
for(var i=1;i<=NbItem;i++) {
i1=0; i2=0;
var item=new GetItem(i);
item.pxU=parseFloat(item.pxU,2);
mtF=parseFloat(parseInt(item.qte)parseFloat(item.pxU),2);
montantF+=mtF; masseT+=item.qte
item.masse;
if (kd_taille){item.des+="  T"+item.taille+" “;}
if (kd_couleur){item.des+=”  “+item.couleur+” “;}
aff+=”"
aff+="";
aff+="";
aff+="";
aff+="";
aff+=“’;
aff+=""
}
CalcPort(); CalcRemise();
aff+=“”;
aff+="";
aff+="“;
// aff+=“";
// aff+="";
// aff+="“;
aff+=“”;
aff+=”";
aff+="“;
totalF=montantF-remiseF+portF;
aff+=“”;
aff+=”";
aff+="
Quantité Designation Prix unitaire Montant Modifications
"+item.qte+""+item.des+""+format(item.pxU)+""+format(mtF)+" Supprimer”;
aff+=" Quantités"
aff+=’
Montant de la commande"+format(montantF)+" 
Remise”;
// if (kd_remise==1){aff+=” ("+parseFloat(kd_txRemise100)+" %)"}
// aff+="
"+format(remiseF)+" 
Participation au transport"+format(portF)+" 
TOTAL A PAYER"+format(totalF)+"
";
aff+=""
aff+=""
aff+=""
aff+=""
aff+=""
aff+=""
aff+=""
aff+=""
aff+=“

PAIEMENT

”;
aff+=" “;
aff+=”";
aff+="";
aff+="";
aff+="";
aff+=""
aff+="


"
if (kd_info) {
aff+=“
Vos commentaires

"
}
SetCookie(“kd_total”,totalF,dateExp,myDomain);
} else {
aff=“

Le caddie est vide !

”;
}
document.write(aff);
}
function ViderCaddie() {
for (var i=0;i<=20;i++){SetCookie(“itemno”+i,”",dateOld,myDomain)}
SetNbItem(0)
window.location=kd_adresse_f;
}
function ViderTout() {
ViderCaddie()
SetCookie(“leclient”,"",dateOld,myDomain)
SetCookie(“kd”,"",dateOld,myDomain)
window.location=kd_adresse_f;
}
function DispCommande(fond,trait,color) {
document.write("

");
DispAdresse();
document.write("
");
DispCaddie(fond,trait,color);
}
function GetTotal() {return GetCookie(“kd_total”)}
function CreerNoCommande() {
var d=new Date()
var y=d.getYear(); if (y<1900) {y=y+1900}
var m=d.getMonth(); if (m<10) {m=“0”+m}
var j=d.getDate(); if (j<10) {j=“0”+j}
var h=d.getHours(); if (h<10) {h=“0”+h}
// var r=Math.random()*99; if (r<10){r=“0”+r;}
// r=r+""; r=r.substring(0,2)
var no=y+""+m+""+j+""+h+""+r
return no;
}
function Envoyer(f) {
if (GetNbItem()==0){alert(“Le caddie est vide.\nVous ne pouvez pas commander.”)}
if (GetCookie(“kd”)!=“OK”){alert("Vos coordonnees ne sont pas correctes.\nMerci de les completer en cliquant sur le lien MODIFIER ")}
if ((GetNbItem()>0)&&(GetCookie(“kd”)==“OK”)){
if(confirm(“La commande va être envoyee.\nEtes-vous d’accord ?”)){
f.submit();
window.location=kd_paiement;
}
}
}

Ben, personne ?

Comment tu sais que ca ne marche pas ? message dans la console javascript ? blocage ? résultats erronés ?
Et quelle partie ne marche pas ? Là tu as pein de fonctions indépendantes !

Donc il faut avant tout que tu dises comment tu as construit ta feuille html (ou php) et de quelle manière tu fais appel à ces fonctions

Ben c’est assez simple… Si j’utilise les fichiers qui sont sur mon disque dur, la fonction AddItem fonctionne et je retrouve le produit dans mon caddie. En revanche si j’ouvre la page en utilisant internet (donc sur le serveur distant) si je clique pour ajouter j’ai erreur sur la page qui s’affiche dans le coin inférieur gauche d’explorer… Le plus simple est peut-être que tu suives le lien puis la rubrique boutique car je suis vraiment dans la panade… Voila le lien vers mon site
Edité le 17/07/2008 à 07:35

C’est quand même mieux avec les pages html !
D’autant plus qu’il y a de fortes chances pour que ce soit elles qui soient à la source du problème.

Il y a des trucs bizarres là-dans
D’abord la première ligne de la source :

et quand on essaie de valider, il n’y a pas moins de 37 erreurs sur la page d’accueil, 98 sur la page produits et 25 sur la page Boutique …
Et il y a aussi la construction en utilisant des frames …
Mais ce n’est pas ça qui te bloque, du moins je ne pense pas.

Ce qui est étonnant, ce n’est pas que ça ne marche pas sur ton serveur, c’est que tu dises que ça marche en local !
Généralement, ce genre de problème vient d’une confusion entre majuscules et minuscules dans les noms de fichiers (Windows ne fait pas la différence, ton serveur, lui, doit la faire), ce sera donc la première chose à vérifier au cas où.

Mais quand on regarde la ligne 38 de ton fichier source (page /scripts/index)

<a href="JavaScript:AddItem('O1¤Ordinateur Personnel "Business"¤50¤'+document.QTTE.box2.value+'¤')"><img src="bcaddy.gif" valign="bottom" width="22" height="20" border="0" ALT="Add an Item /Ajouter un produit"></a>

Tu as une succession de guillemets simples et doubles qui n’est pas supportée dans ce cas.
Comme ton href commence par des guillemet double, il se terminera au prochain guillemet double rencontré
Ton lien réel est donc href="JavaScript:AddItem('O1¤Ordinateur Personnel " ce qui est bien entendu incorrect puisque la parenthèse de Additem n’est pas refermée.

Tu peux t’en apercevoir facilement si tu as activé la barre d’état de ton navigateur : quand tu survoles le lien avec la souris, il te met son contenu tel qu’il l’interprète.

Comme je l’ai écrit plus haut, je ne connais absolument rien à Javascript, mais oui, en local tout fonctionne et je ne comprends pas non plus, ce sont exactement les mêmes fichiers…

– Que dois-je modifier dans cette ligne ?

et quand on essaie de valider, il n’y a pas moins de 37 erreurs sur la page d’accueil, 98 sur la page produits et 25 sur la page Boutique
– Des erreurs javascript ou autre chose ?


Et il y a aussi la construction en utilisant des frames …
– Les frames, je sais que c’est pas génial mais bon si j’arrive à ce que la boutique fonctionne, c’est l’essentiel
Mais ce n’est pas ça qui te bloque, du moins je ne pense pas.

Généralement, ce genre de problème vient d’une confusion entre majuscules et minuscules dans les noms de fichiers (Windows ne fait pas la différence, ton serveur, lui, doit la faire), ce sera donc la première chose à vérifier au cas où.
– J’ai vérifié, tout semble correct

Mais quand on regarde la ligne 38 de ton fichier source (page /scripts/index)
Code :

<a href=“JavaScript:AddItem(‘O1¤Ordinateur Personnel "Business"¤50¤’+document.QTTE.box2.value+‘¤’)”>Add an Item /Ajouter un produit

Tu as une succession de guillemets simples et doubles qui n’est pas supportée dans ce cas.
Comme ton href commence par des guillemet double, il se terminera au prochain guillemet double rencontré
Ton lien réel est donc href="JavaScript:AddItem('O1¤Ordinateur Personnel " ce qui est bien entendu incorrect puisque la parenthèse de Additem n’est pas refermée.

– Donc je devrais mettre (si je t’ai bien suivi) Add an Item /Ajouter un produit ?

Rien
En mettant cette ligne en haut de ton code, tu indiques en fait quel vocabulaire tu vas ensuite utiliser
Les fautes dont je te parle, ce sont des indications du validateur comme quoi ces règles ne sont pas respectées.
Il se peut que ce soit sans conséquence, il se peut aussi que certains navigateurs de tes clients ne comprennent pas tes pages. A toi de voir si tu modifier ou non.
Si ça fonctionne bien chez toi, tu peux par exemple mettre sur ta première page “Ce site nécessite l’utilisation d’Internet Explorer” (ou Firefox, ou tout autre navigateur que tu as testé)

NB: les erreurs javascript ne sont pas remontées par ce canal. Elles ne sont visibles qu’à l’exécution.
Si tu utilises Firefox, il suffit que tu ouvres la console javascript pour savoir de quoi il retourne.
Avec Internet Explorer, tu as une petite icone dans la barre d’état avec “Erreur sur la page”, et tu cliques dessus pour en avoir le texte

“-- Les frames, je sais que c’est pas génial mais bon si j’arrive à ce que la boutique fonctionne, c’est l’essentiel”
D’accord avec toi, ce n’est pas ça qui peut bloquer ton javascript

Ca me paraît correct.
Tu as essayé voir ce que ça donne ?
Normalement, là tu devrais au moins avoir réglé le problème du AddItem

Tu utilises quel navigateur ?

Edit: quand tu dis que ca marche en local, tu as visionné le cookie pour voir s’il était correct ?
Edité le 17/07/2008 à 12:56

Un grand merci pour ton aide ! Mon AddItem fonctionne :slight_smile:

J’ai hélàs d’autres soucis, alors si tu as le courage…

Dans le fichier adresse.htm, le bouton valider ne fonctionne pas

Dans le fichier panier.htm, je voudrais supprimer le choix du mode de paiement, mais je ne le trouve pas (?)
(le choix du paiement viendra après et fera partie su script de chez Ogone)

Encore merci
Edité le 17/07/2008 à 15:36

Dans le lien que tu as donné plus haut, la correction n’est pas faite, donc difficile de progresser pour voir les problèmes suivants.
En particulier rien dans le panier -> pas possible d’utiliser le bouton valider …

Pour Adresse.htm
Quand tu dis que ça ne marche pas, il te donne une erreur de syntaxe ou c’est simplement qu’il ne fait pas ce que tu attends ?
La fonction appelée est dans le fichier caddie.js.
Vérifie déjà que tu rentres bien dedans

Pour panier.htm
Moi je n’ai pas de référence au mode de paiement, sans doute parce que mon panier est vide
ça doit se trouver dans la fonction DispCaddie(), il y a une liste déroulante qui s’appelle paiement

Pour le lien, tu peux y ajouter /scripts/index.htm, qui est la première page

Dans adresse.htm, ben il n’y a pas de message d’erreur, juste le bouton valider qui ne fait rien et si tu retourne au caddie, ben l’adresse n’y est pas…

Pour panier.htm, j’ai juste ceci :


mais dans le fichier de script j’ai “ça”

function DispCommande(fond,trait,color) {
document.write("

");
DispAdresse();
document.write("
");
DispCaddie(fond,trait,color);
Edité le 17/07/2008 à 17:12

Comme je l’ai déjà dit, peu probable que ce soit le javascript qui soit la cause de tes problèmes.
J’ai regardé ta page Adresse.htm, plus exactement son code.
Quelques remarques, juste à la simple lecture :


Il vaut mieux mettre les balises en minuscules.
Ce n’est pas une obligation, mais au moins essayer de rester cohérent de bout en bout (par ex, ta balise elle, est en minuscules

[i][b]

[/b] [/i]Il ne doit rien y avoir entre et

Caddie virtuel

manque le type (pas bloquant)

<script type=text/javascript src= etc [b] [i] Merci de saisir votre adresse de livraison :[/i][/b] Pas possible d'avoir deux lignes [b]    Nom :    Prénom :
[i][/i]/b] Fin de paragraphe inattendue. Où est le

associé ? [b][i]

 [/i][/b] non inclus dans un , ni dans un [b] E-Mail :
(pour recevoir la confirmation de la commande) [i][/i][/b] orphelin (voir plus haut) [b]Adresse :


Code postal :    Ville :
   [i][/i][/b] orphelin (voir plus haut) [b][i][/i][/b] fin de liste de choix sans début ( et sans contenu [b]
[i][/i][/b] voir plus haut [b]Tel :    Fax :    
[i] [/i][/b] voir plus haut [b] [i]

[/i][/b] Ne sert à rien ; il faut au minimum un espace (& n b s p ; ) dans ton paragraphe [b]
[i]

Conformément à la loi, vous disposez d'un droit d'accés, de modification et de suppression des données vous concernant. [/i][/b] paragraphe

non fermé ; il manque

après le texte
non fermé [b] [/b] J'en ai sûrement oublié. C'est du codage manuel ou à l'aide d'un outil ? Le mieux est de tout effacer et de repartir de zero Edité le 17/07/2008 à 20:47

Je sais que tu as raison, mais dans mon cas, c’est mon incompétence qui m’empêche de le faire :frowning:
C’est pour ça que je pars de ce que j’ai en essayant de faire les corrections. En fait ici, je comprends à peu près ce que chaque page (et chaque bout de script associé) doit faire…

Que serait la bonne syntaxe pour ceci ?
[i]

Merci de saisir votre adresse de livraison : Pas possible d'avoir deux lignes [/i] Edité le 19/07/2008 à 15:36

tu mets tout dans la même balise

NB : tout en une seule ligne ; ici c'est l'éditeur qui replie

le font qui suit n’a rien à voir ; il est correct, mais pour une meilleure lisibilité tu peux le mettre sur une autre ligne
Merci de saisir votre

Bon, j’ai fait les modifs dans adresse.htm, je crois que le code de la page est maintenant plus “propre”, mais bon, je devrai revoir la mise en page et surtout, le bouton valider est toujours sans effet quand on le clique…

Le code a l’air beaucoup plus propre
Encore qu’il serait mieux que la partie soit à l’intérieur du …

Pour ce qui est de ton bouton action, il t’indique clairement ce qui ne va pas quand tu cliques dessus : tu fais appel à une variable qui n’existe pas.

Tu n’aurais pas modifié le contenu du formulaire, par exemple supprimé une ligne qui indiquait le pays ?

salut, je viens de créer un site web utilisant php, javascript, Mysql. mon probleme c 'est que je veut utiliser une variable de javascript dans le script php. plus prcisement je veut enregistrer une variable d’une fonction javascript dans une table Mysql.
merci por votre aide

Oui, j’ai supprimé une liste déroulante pour le choix du pays puisque dans mon cas ce sera limité à la Belgique :peur:

Comment je peux rectifier le tir ?

PS: encore merci pour ton aide ! :super:

Plusieurs solutions :

  • la solution “béton”
    Tu reprends une à une toutes tes fonctions javascript (y compris celles qui sont dans les fichiers .js) et tu vérifies qu’elles ne font pas appel au champ en question.
    La difficulté vient de ce que le nom peut avoir changé entre temps, s’il s’agit d’une valeur passée en argument.
    Ensuite, lorsque tu as mis le doigt sur une anomalie, tu regardes si tu peux supprimer la référence en question sans créer de nouvelles erreurs en cascade

  • la solution “fil de l’eau”
    Tu exécutes ton code, ton repères une à une les erreurs qui remontent dans la console d’erreur, et tu essaies de corriger en limitant la casse.
    Attention, une erreur peut en cacher une autre, donc à chaque fois il faut reprendre le test de zéro.

  • la solution conservatoire
    Tu essaies de récupérer le code d’origine (qui a priori devait fonctionner) et tu le conserves tel quel, en ne faisant les aménagements que sur la partie présentation.
    Par exemple, pour le cas qui nous intéresse, tu remets, le champ pays, tu forces sa valeur à “Belgique” et tu le masques
    A mon avis, c’est le plus simple, et ça a le mérite de respecter la propriété intellectuelle du concepteur d’origine

Pfouuuu Sacré boulot tout ça, d’autant plus que je ne sais même pas si j’ai encore le code d’origne !! Cerise sur le gâteau, il faudrait que je refasse plein de modifs pour (essayer de) mainenir une ceryaine homégénité de présentation avec le site “de base” (ma homepage). Comme il est déjà pas loin de 22 heures ce sera pour demain… Ce qui me gêne le plus, c’est que j’ai peur de recontrer de nouveaux pepins quand celui là sera solutionné et qu’en plus, il faudrait que tout soit opérationnel au plus tard pour le premier août
:ouch:
Edité le 22/07/2008 à 21:56

Voilà, j’ai plus ou moins rectifié le tir…
Je crois que ça fonctionne enfin. Pourrais-tu quand tu auras un moment essayer de faire une commande ?
Normalement, ça va foirer tout à la fin car il y a normalement un form-mail.cgi mais qui n’est pas encore installé car je ne sais pas encore quel sera le contenu exact du script qui me sera fourni par Ogone (pour le paiement sécurisé) ni si je pourrai effectuer simultanément un form-mail et le script vers le paiement.

Je crois que j’en vois enfin le bout, ce sera grâce à toi, donc un grand merci :super: