[JAVASCRIPT] Passage de parametres

Passage de parametres [JAVASCRIPT] - Programmation

Marsh Posté le 26-07-2001 à 01:06:57    

toujours un pb de JS : g une fonction (JS) qui cree un formulaire. Elle prend 2 parametres :
 
function modify(object, title)
{
 document.write('<FORM  NAME="'+title+'" OnSubmit="editer()">');
 document.write('<TABLE BORDER=0>');
 
        .... (remplissage du formulaire)
 
 document.write('<TR><TD><INPUT TYPE="SUBMIT" VALUE="Modify"></TD></TR>');
 document.write('</TABLE>');
 document.write('</FORM>');
}
 
moi au lieu d'ecrire : OnSubmit="editer()"; je voudrais ecrire un truc du style OnSubmit="editer(object,title)"; ou bien OnSubmit="editer("+object+","+title+" )";
 
(evidemment, une solution simple consiste a definir mes 2 objets objects et title en dehors des fonctions comme variables globales, mais c pas tres propre!!)

 

[edtdd]--Message édité par grahf--[/edtdd]

Reply

Marsh Posté le 26-07-2001 à 01:06:57   

Reply

Marsh Posté le 26-07-2001 à 01:30:42    

si tu n'utilise les parametres object et title que pour ca...
tu na ka considerer kil sont des chaines de caracteres...
et hop ton pb est reglé !!!!
au lieu de passer a ta fonction modify() des objets, ben tu les lui passe sous forme de chaine de caracteres...
 
du genre :  

Code :
  1. modify("document.la_form.l_objet","document.la_form.le_titre" )

Reply

Marsh Posté le 26-07-2001 à 01:50:50    

tu peux aussi faire :

Code :
  1. OnSubmit="editer(eval('document.' + title + '.' + object.name), title);"


y'a peut-etre des ' a transformer en \' pour que ca marche dans ton document.write()
 
- - -  
 
edit: en relisant, j'ai peut-etre merdé dans les " et les ' ... j'essaye de te faire un truc qui marche... mais en gros tu utilises le eval() pour que a la fin, tu aies dans ton HTML resultant du document.write:

Code :
  1. OnSubmit="editer(eval('document.NOM_DE_LA_FORME.NOM_DE_L_OBJET'), 'NOM_DE_LA_FORME');"


 
- - -  
 
Euhh.... :sweat:  en fait, je crois que je me fais chier pour rien... la variable object est une chaine pour toi... pas un object...  :(

 

[edtdd]--Message édité par JWhy--[/edtdd]


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 26-07-2001 à 04:00:17    

Je vois que ca cogite dur !!! :D

Reply

Marsh Posté le 26-07-2001 à 16:47:31    

non ce que je passe en parametre c des objets, pas des chaines de caracteres.
 
G essaye en mettant document.write('<FORM  NAME="dsd" OnSubmit="editer('+eval(object)+')">');  
mais il me sort une erreur

Reply

Marsh Posté le 26-07-2001 à 20:47:53    

ben... essaie de faire un trc du genre toString() a ton objet...
 
sinon si tu met eval() en chaine de caracteres... ca passe pas ?
JS ne connais pas eval ?

Reply

Marsh Posté le 27-07-2001 à 00:53:19    

Bon je reformule mon probleme parce que g tjrs pas trouve :
 
 
 
function f_conf(p_param)
{
 alert(p_param);
}
 
function f_create(t_titre)
{
 document.write('<FORM NAME="titre1" onSubmit="f_conf('+...???...+')">');
 document.write('<INPUT TYPE=TEXT SIZE="10" NAME="champ1">');
 document.write('<INPUT TYPE=SUBMIT>');
 document.write('</FORM>');
}
 
f_create(myUser);

 
 
 
Je veux donc passer mon objet myUser a la fonction f_conf par l'intermediaire de mon formulaire.
Comment on peut faire :??:  
 
( +eval("t_titre" )+  marche pas)

 

[edtdd]--Message édité par grahf--[/edtdd]

Reply

Marsh Posté le 27-07-2001 à 01:05:16    

c'est quoi ton myUser... c'est document.form.myUser qui est un <input ...> ou est-ce une string style le nom de form ?!?
 
parei, tu veux passer quoi f_conf ? ton p_param c'est une chaine ? un objet ?
 
excuse moi d'insister mais c'est pas super clair ! (enfin, pour moi ;) )


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 27-07-2001 à 15:32:49    

oui myUser est un objet :
 
function user()
{
 this.p_login='';
 this.p_pass='';
 this.p_forname='';
 this.p_name='';
}
 
var myUser=new user();
 
la fonction f_create recupere mon objet, affiche ses champs dans un input, et au submit du formulaire, appelle la fonction f_conf (avec l'objet passe en parametre) pour recuperer la valeur des champs et les affecter a l'objet.
 
PS : dans mon poste precedent, le nom du parametre de la fonction f_create est mal choisi, c pas le titre

Reply

Marsh Posté le 29-07-2001 à 00:04:35    

le toString()... ca marche pas ?? :??:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed