| |||||||
| Développement web Pour les webmasters qui utilisent PHP, MySQL, AJAX, CSS, JavaScript, etc. |
![]() |
| | Outils de la discussion | Modes d'affichage |
| | | #1 | ||||||
| Membre Date d'inscription: 20/11/07 Localisation: Paris
Messages: 50
Disco: ![]() |
Salut à tous ![]() 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 ![]() 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!) Mon idée : Code: 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
Code: <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>
Code: <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électionnez la quantité</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écurisée" />
<img alt="Acheter" border="0" src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" width="1" height="1" />
</form>
. 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. ++ ![]() 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 | |||||||
|
--------------------
Macbook blanc 2,13 Ghz - 2 Go - 320 Go (octobre 2007) Mac OS 10.5.6 Dernière modification par iPascal ; 21/11/2008 à 12h00. | ||||||||
| | | |||||||
| | #2 | |||||||
| Accro à MacG Date d'inscription: 09/11/00 Localisation: Grenoble, France
Messages: 3001
Disco: ![]() ![]() ![]() ![]() ![]() ![]() |
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. | |||||||
|
--------------------
clan m4k : joueurs mac francophones. Recrutement sur COD4, et dès que possible sur Starcraft 2. | ||||||||
| | | |||||||
| | #3 | |||||||
| Accro à MacG Date d'inscription: 09/11/00 Localisation: Grenoble, France
Messages: 3001
Disco: ![]() ![]() ![]() ![]() ![]() ![]() |
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...)
| |||||||
|
--------------------
clan m4k : joueurs mac francophones. Recrutement sur COD4, et dès que possible sur Starcraft 2. | ||||||||
| | | |||||||
| | #4 | |||||||
| Modérateur Date d'inscription: 04/01/02 Localisation: Suisse
Messages: 5585
Disco: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
As-tu essayé ta page avec un débuggeur JavaScript comme Firebug ?
| |||||||
|
--------------------
L'éthique, ce mot-lessive, est utilisé à tout instant pour laver les consciences sans frotter. Corinne Maier | ||||||||
| | | |||||||
| | #5 | |||||||
| Accro à MacG Date d'inscription: 09/11/00 Localisation: Grenoble, France
Messages: 3001
Disco: ![]() ![]() ![]() ![]() ![]() ![]() |
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)
| |||||||
|
--------------------
clan m4k : joueurs mac francophones. Recrutement sur COD4, et dès que possible sur Starcraft 2. | ||||||||
| | | |||||||
| | | #6 | ||||||
| Membre Date d'inscription: 20/11/07 Localisation: Paris
Messages: 50
Disco: ![]() |
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. | |||||||
|
--------------------
Macbook blanc 2,13 Ghz - 2 Go - 320 Go (octobre 2007) Mac OS 10.5.6 | ||||||||
| | | |||||||
![]() |
| Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s)) | |
| Outils de la discussion | |
| Modes d'affichage | |
| |
Discussions similaires | ||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Word 2008 + bibfuse : absence script dans menu script | kornea | Applications | 9 | 05/04/2009 17h29 |
| Javascript | tumb | Développement web | 6 | 07/09/2008 06h16 |
| [Javascript] | tumb | Développement web | 6 | 09/11/2003 08h24 |
| obtenir la taille d'un dossier grace à un script Apple-Script | FredG3 | Développement sur Mac | 0 | 31/08/2002 08h59 |
| Javascript | Tomy | Développement web | 8 | 03/11/2000 19h20 |