je détourne l'id en y passant le nom d'une fonction :
new Request(
'php/items_number.php?cat='+datas['idx'],'javascript:delCategory:'+datas
['name']+':'+datas['idx']);
le "javascript:" en préfixe me sert à savoir si j'ai affaire à un id de
tag html ou à une fonction. les ":" séparents les différents champs :
nom de la fonction + 2 paramètres.
bon, ensuite je lance ma fonction par eval :
eval(function_name+"("+parseInt(String,10)+", '"+name+"',
"+parseInt(idx,10)+")");
bon, ça roule super bien MAIS je sais qu'eval, c'est à éviter...
d'ailleurs, peut-on éviter eval en json ?
que faire d'autre ?
bien sûr je peux changer le constructeur de "Request" un xhr...
--
« Il vaut mieux taxer les pauvres que les riches car
ils sont beaucoup plus nombreux »
(Margaret Thatcher)
bon, ensuite je lance ma fonction par eval : eval(function_name+"("+parseInt(String,10)+", '"+name+"', "+parseInt(idx,10)+")");
bon, ça roule super bien MAIS je sais qu'eval, c'est à éviter...
Tu l'as deja posé cette question ;-)
A+ Bol
unbewusst.sein
Bol wrote:
Tu l'as deja posé cette question ;-)
c'était dans un autre contexte, celui d'une fonction et pas d'un constructeur, bon ça ne doit pas être très différent. j'imagine que je dois mettre un switch soit sur le nombre d'args soit sur leur tupe. je ne pense pas pouvoir (?) passé la fonction anonymement, genre : new Request(page, function () {...}); -- « Il vaut mieux taxer les pauvres que les riches car ils sont beaucoup plus nombreux » (Margaret Thatcher)
Bol <Bol@wanadoo.fr> wrote:
Tu l'as deja posé cette question ;-)
c'était dans un autre contexte, celui d'une fonction et pas d'un
constructeur, bon ça ne doit pas être très différent.
j'imagine que je dois mettre un switch soit sur le nombre d'args soit
sur leur tupe.
je ne pense pas pouvoir (?) passé la fonction anonymement, genre :
new Request(page, function () {...});
--
« Il vaut mieux taxer les pauvres que les riches car
ils sont beaucoup plus nombreux »
(Margaret Thatcher)
c'était dans un autre contexte, celui d'une fonction et pas d'un constructeur, bon ça ne doit pas être très différent. j'imagine que je dois mettre un switch soit sur le nombre d'args soit sur leur tupe. je ne pense pas pouvoir (?) passé la fonction anonymement, genre : new Request(page, function () {...}); -- « Il vaut mieux taxer les pauvres que les riches car ils sont beaucoup plus nombreux » (Margaret Thatcher)
unbewusst.sein
Bol wrote:
Tu l'as deja posé cette question ;-)
ben en fait c'est très simple ))) : function doit(aFunction){ aFunction(); } function sayHello(name){alert("Bonjour "+name+" !")}
appel dans un "onclick" : <input type="button" value="Do it" onClick="doit(sayHello('Yvon'))">
mon cas est un peu plus compliqué : dans la fonction je dois aussi passer un argument à la function sayHello, j'essaie :
function doit(aFunction){ var greetings="Bonjour"; aFunction(greetings); } function sayHello(name, greetings){alert(greetings+" "+name+" !")}
mais là, je n'ai qu'un paramètre de passé, c'est name. avec le même appel
ça ne marche qu'en passant un paramètre à doit et en construisant l'autre dans doit : function doit(aFunction, name){ var greetings="Bonjour"; aFunction(greetings, name); } function sayHello(greetings, name){alert(greetings+" "+name+" !")}
avec l'appel : <input type="button" value="Do it" onClick="doit(sayHello,'Yvon')">
-- « Il vaut mieux taxer les pauvres que les riches car ils sont beaucoup plus nombreux » (Margaret Thatcher)
Bol <Bol@wanadoo.fr> wrote:
Tu l'as deja posé cette question ;-)
ben en fait c'est très simple ))) :
function doit(aFunction){
aFunction();
}
function sayHello(name){alert("Bonjour "+name+" !")}
appel dans un "onclick" :
<input type="button" value="Do it"
onClick="doit(sayHello('Yvon'))">
mon cas est un peu plus compliqué :
dans la fonction je dois aussi passer un argument à la function
sayHello, j'essaie :
function doit(aFunction){
var greetings="Bonjour";
aFunction(greetings);
}
function sayHello(name, greetings){alert(greetings+" "+name+" !")}
mais là, je n'ai qu'un paramètre de passé, c'est name.
avec le même appel
ça ne marche qu'en passant un paramètre à doit et en construisant
l'autre dans doit :
function doit(aFunction, name){
var greetings="Bonjour";
aFunction(greetings, name);
}
function sayHello(greetings, name){alert(greetings+" "+name+" !")}
avec l'appel :
<input type="button" value="Do it"
onClick="doit(sayHello,'Yvon')">
--
« Il vaut mieux taxer les pauvres que les riches car
ils sont beaucoup plus nombreux »
(Margaret Thatcher)
ben en fait c'est très simple ))) : function doit(aFunction){ aFunction(); } function sayHello(name){alert("Bonjour "+name+" !")}
appel dans un "onclick" : <input type="button" value="Do it" onClick="doit(sayHello('Yvon'))">
mon cas est un peu plus compliqué : dans la fonction je dois aussi passer un argument à la function sayHello, j'essaie :
function doit(aFunction){ var greetings="Bonjour"; aFunction(greetings); } function sayHello(name, greetings){alert(greetings+" "+name+" !")}
mais là, je n'ai qu'un paramètre de passé, c'est name. avec le même appel
ça ne marche qu'en passant un paramètre à doit et en construisant l'autre dans doit : function doit(aFunction, name){ var greetings="Bonjour"; aFunction(greetings, name); } function sayHello(greetings, name){alert(greetings+" "+name+" !")}
avec l'appel : <input type="button" value="Do it" onClick="doit(sayHello,'Yvon')">
-- « Il vaut mieux taxer les pauvres que les riches car ils sont beaucoup plus nombreux » (Margaret Thatcher)
Mickaël Wolff
Désolé d'arriver après la bataille.
On 23/09/11 16:27, Une Bévue wrote:
bon, ensuite je lance ma fonction par eval : eval(function_name+"("+parseInt(String,10)+", '"+name+"', "+parseInt(idx,10)+")");
Si la function_name contient le nom d'une fonction définie globalement, cette fonction est donc un attribut de l'objet global. Dans un navigateur, ça se traduit comme ça :
bon, ensuite je lance ma fonction par eval :
eval(function_name+"("+parseInt(String,10)+", '"+name+"',
"+parseInt(idx,10)+")");
Si la function_name contient le nom d'une fonction définie
globalement, cette fonction est donc un attribut de l'objet global. Dans
un navigateur, ça se traduit comme ça :
bon, ensuite je lance ma fonction par eval : eval(function_name+"("+parseInt(String,10)+", '"+name+"', "+parseInt(idx,10)+")");
Si la function_name contient le nom d'une fonction définie globalement, cette fonction est donc un attribut de l'objet global. Dans un navigateur, ça se traduit comme ça :
bon, ensuite je lance ma fonction par eval : eval(function_name+"("+parseInt(String,10)+", '"+name+"', "+parseInt(idx,10)+")");
Si la function_name contient le nom d'une fonction définie globalement, cette fonction est donc un attribut de l'objet global. Dans un navigateur, ça se traduit comme ça :
bon, ensuite je lance ma fonction par eval :
eval(function_name+"("+parseInt(String,10)+", '"+name+"',
"+parseInt(idx,10)+")");
Si la function_name contient le nom d'une fonction définie globalement,
cette fonction est donc un attribut de l'objet global. Dans un
navigateur, ça se traduit comme ça :
bon, ensuite je lance ma fonction par eval : eval(function_name+"("+parseInt(String,10)+", '"+name+"', "+parseInt(idx,10)+")");
Si la function_name contient le nom d'une fonction définie globalement, cette fonction est donc un attribut de l'objet global. Dans un navigateur, ça se traduit comme ça :