Passage de parametres [JAVASCRIPT] - Programmation
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 :
|
Marsh Posté le 26-07-2001 à 01:50:50
tu peux aussi faire :
Code :
|
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 :
|
- - -
Euhh.... 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]
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
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 ?
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]
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 )
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
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]