Prototype.js passage de variable dans un OnComple
Posté : 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 :
Merci, Elie
EDiT : J'ai fais passer les arguments dans un Array !
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);
}
}
}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);
}
}