Prototype.js passage de variable dans un OnComple

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Prototype.js passage de variable dans un OnComple

par Nagol » 27 mars 2008, 19:43

désolé d'avoir pas vu ton message plus tôt :)

Prototype.js passage de variable dans un OnComple

par Elie » 22 mars 2008, 21:15

Salut,

J'ai essaye de voir des exemples sur le net mais je n'arrive pas a faire passer mes variables couleur et id dans ma fonction. Ou alors j'y arrive mais le requete.reponseText ne marche plus du coup.


Voici mon code :

Code : Tout sélectionner

// Changement d'image function change_couleur(couleur, id) { var laRequete = new Ajax.Request('include/js/verifCouleur.php', {method: 'get', parameters: 'couleur='+couleur+'&id='+id, asynchronous:false, onComplete:afficherReponse}); function afficherReponse(requete, couleur, id) { if(requete.responseText > 0) { new Ajax.Updater('miniature_1','include/js/changementMiniature.php', {method: 'get', parameters: 'couleur='+couleur+'&id='+id, asynchronous:false, evalScripts:true}); //alert(couleur+' '+id); } else { alert(couleur+' '+id); var top = Position.positionedOffset($('couleur_'+id))[1]; var left = (Element.getDimensions("principale").width-200)/2; var titre = Builder.node("div", {id:'alerte', class:'alerte', style:'left:'+left+'px; top: '+top+'px; position: absolute'}, "Ce modele existe bien dans cette couleur cependant nous ne disposont pas de visuel actuellement."); $('principale').appendChild(titre); // On ferme l'alerte new PeriodicalExecuter(function(pe) { $('alerte').remove(); pe.stop(); }, 3); } } }
Merci, Elie

EDiT : J'ai fais passer les arguments dans un Array !

Code : Tout sélectionner

// Changement d'image function change_couleur(couleur, id) { //var laRequete = new Ajax.Request(, {, onComplete:function(request){oncomplete();}); new Ajax.Request('include/js/verifCouleur.php', {method: 'get', parameters: 'couleur='+couleur+'&id='+id, asynchronous:true, evalScripts:true, onComplete:function(requete) {afficherReponse(Array(requete.responseText, couleur, id));}}) } function afficherReponse(array) { var responseText = array[0]; var couleur = array[1]; var id = array[2]; if(responseText > 0) { new Ajax.Updater('miniature_'+id,'include/js/changementMiniature.php', {method: 'get', parameters: 'couleur='+couleur+'&id='+id, asynchronous:false, evalScripts:true}); } else { var top = Position.positionedOffset($('couleur_'+id))[1]; var left = (Element.getDimensions("principale").width-200)/2; var titre = Builder.node("div", {id:'alerte', class:'alerte', style:'left:'+left+'px; top: '+top+'px; position: absolute'}, "Ce modele existe bien dans cette couleur cependant nous ne disposont pas de visuel actuellement."); $('principale').appendChild(titre); // On ferme l'alerte new PeriodicalExecuter(function(pe) { $('alerte').remove(); pe.stop(); }, 3); } }