Besoin d'aide.....snif...;en javascript
s'il vous plait aider moi.....
je n'arrive pas a atteindre les objets de mes formulaires en jaavscript.........
Fo dire que c un site que j'ai repris alors ya pleins de truc que je capte pas trop mais bon.
Je veux atteindre un champs d'un formulaire alors j'écris genre ceci:
document.forms.elements[truc].value
ben ca amrche pas......
le truc bizarre c ke pour atteindre une page en php je suis obligé de fair eun truc dans le genre:
<a href="<?echo "$PHP_SELF";?>?mode=formulaire&objet=machin&action=visualiser" target="popup">
si vous avez une idée pour atteindre le champs truc du formulaire machin...
les formulaires sont en .cgi
aidez moi please
je commence a desesperer la...
je n'arrive pas a atteindre les objets de mes formulaires en jaavscript.........
Fo dire que c un site que j'ai repris alors ya pleins de truc que je capte pas trop mais bon.
Je veux atteindre un champs d'un formulaire alors j'écris genre ceci:
document.forms.elements[truc].value
ben ca amrche pas......
le truc bizarre c ke pour atteindre une page en php je suis obligé de fair eun truc dans le genre:
<a href="<?echo "$PHP_SELF";?>?mode=formulaire&objet=machin&action=visualiser" target="popup">
si vous avez une idée pour atteindre le champs truc du formulaire machin...
les formulaires sont en .cgi
aidez moi please
je commence a desesperer la...
25 réponses
-
le code javascript peut etre place n importe ou, mais il ne pourra affecter que les objets places avant lui, car ceux qui sont apres sont a null, sauf si tu y accedes avec des objets predefinis du genre document.forms[],
par exemple le script pr afficher les forms n affichera que les forms declarees avant lui et pas les autres!!!
ensuite si tu l execute apres avoir cree toutes les autres forms tu verras qu il fonctionne!!! -
Encore une petite question (désolé d'insister).
tu dis que le code doit etre placer après les forms....
Mais le code javascript doit normalement se trouver dans le head donc avant le form
ou alors jme trompe. -
are you satisfied??
-
enfin le voile est leve, je te lai dit j ai repondu plus haut.
supposons que tu soit dals le cadre menu et que tu veuille acceder au frame formulaire. en supposant que le code du cadre est
<frameset>
<frame name="menu" ...>
<frame name="form" ...>
</frameset>
dans la page designee par menu pour acceder la page form
document.parent.document.frames["form"] ou document.parent.document.frames[1]
et inversement
document.parent.document.frames["menu"] ou document.parent.document.frames[0]
parent designe la page contenant les frames donc enfin pour acceder aux forms tu fais
document.parent.document.frames[0].forms[...]
document.parent.document.frames[1].forms[...]
je deteste les frames je ne lesz utilise jamais!!! -
Bon je vais essayer d'etre claire nette et précise......
Je possède un site internet ou il y a plusieurs pages.
Ces pages sont structurés de deux frames:1menu et 1 formulaire.
je veux d'un formulaire pouvoir récuperer les valeurs d'un autre formulaires.
J'ai donc decider d'utiliser le javascript
J'ai un fihcier qui creer les entetes de mes formulaires (ce fichier se nomme cadre_formulaire).
Ces en tetes sont construites de cette facon:echo '<form method="post" action="'.$PHP_SELF.'" name="types_sequences" enctype=multipart/form-data>'."\n"; require_once("/usr/local/apache/serveurs//RESERVE/OUTILS/bd/formulaires/$form.cgi");
Mon probleme:
je n'arrive pas a atteindre un formulaire à partir d'un autre formulaire.
Le code que j'ai creer est de ce type et permet de voir le nombres de formulaires:<script language=javascript> function Chargement() { alert(document.forms.length); } </script>
j'appel ce code dans un formulaire sur l'action du click de la souris dans une zone de texte.
Le résultat qui s'affiche alors est "2".
Et si je regarde leur nom je constate qu'il n'existe que:
document.menu.etc....
et
document.truc.etc...
sachant que truc est le formulaire dans lequel j'ai ecrit le onclick=....
Voila j'espère que j'ai été assez claire.
Moi ce que je veux c'est pouvoir faire du formulaire truc un document.machin.bidule.value
pour récuperer une valeur. -
pour ke le code fonctionne il doit etre placer apres toutes les forms
sinon le script ne verra que les forms placees avant lui -
je te conseille de bien maitriser le sujet avant de continuer le debat, j ai l'impression qu on est pas sur la meme longueur d'onde je ne te saisi pas toujours
-
Bon apparememtn c pas un probleme de placement du code vu ke je l'ai encore déplacer et que ca change rien.
Peut etre ne faut il pas mettre de variables dans le <form>... -
document.form ne pointe que sur les forms de la page du script ou il s execute pour les autres pages procede comme indique plus haut!!!
-
Non mon $form prend bien la valeur de chaque formulaire...
En fait j'ai l'impression que le document.form ne voit que le formulaire sur lequel on le lance.
Je ne sais pas comment faire pour arriver a atteindre mon autre formulaire.
Je dois placer le code javascript encore ailleur?? -
<form action="<?echo "$PHP_SELF";?>?mode=formulaire&objet=machin&action=visualiser" target="popup">
target="popup" signifie envoiele formulaire aucadrenommee "popup" dans la page "$PHP_SELF"
verifie que ta variable $form n est pas vide, il y a deux moyens d acceder aux forms :
-document.forms[i] (i=0, 1, ...< document.forms.length),
- document.forms["nom_form"] -
J'ai mis mon script dans le cadre formulaire mais ca change rien.
Il ne prend toujours que le formulaire à partir duquel est lancé le script.
Avez vous une idée sil vous plait.............. -
Ben j'ai un form qui me permet de faire le menu (dans une frame)
et ensuite l'autre form avec mon formulaire.
Donc je ne pense pas qu'il y est de form imbriqué.
Moi cke j'ai pensé (c surmeent pas ca mais bon)
je me demande si le fait de mettre le <form....name=$form...>
dans un autre fichier ne fait pas tout capoter.
C'est a dire que quand j'appel document.animal du formulaire
veterinaire ben le form animal n'a pas été creer donc n'existe pas....
je dis ca parcke kan j'écris document.forms.length ben ca me met 2 (menu et le nom du formulaire depuis lequel j'ai lancer le script javascript.
J'ai penser inclure le script javascript dans le fichier cadre formulaire.
Est ce qsue c'est possible ensuite de l'appeler depuis els formulaires?? -
la je te comprends mieux, desole mon vieux c est pas possible du moins pas tout a fait, cest possible si :
- tu ouvres une autre fenetre avec javascript (window.open() deconseille a cause des popup blockers), alors tu peux acceder a tous les objets qu elle contient (forms, frames,...)
- la page actuelle est dans un cadre ou contient des cadres, alors tu utilises les objets document.frames, document.parent[.frames], document.top[.frames] pour acceder a l une des pages
autrement je sais pas si cest possible, mais si la page n est pas ouverte dans le navigateur tu peux pas y acceder -
il y a autre chose si tes balises <form>.. </form> ne sont pas correctement fermees alors ne soit pas surpris de ne pas voir certaines forms par exemple
<form>..
<form>.. </form>
</form>
la deuxieme sera invisible!!! verifie qu il n y a pas de forms imbriquees -
Moi je veux atteindre les formulaires des autres pages de mon site.
Et c ca que j'arrive pas a faire avec document.form -
ModérateurComme dit plus haut si tu as plusieurs formulaires dans une même page, chacun d'eux est atteignable par document.form[i]. Si ce n'est pas la réponse que tu attendais je n'ai pas bien compris ton pb
-
Bon j'ai reussi a faire un piti truc...
je m'explique
dans mon fichier cadre formulaire j'ai remplacé le
<form method="post" action="'.$PHP_SELF.'" name="fiche" enctype=multipart/form-data
par un name="'.$form.'"
Quand j'affiche maintenant document.forms[i].name
j'ai a l'interieur le nom du formulaire d'ou le script java est lancé.
Mais il m'est toujours impossible d'aller sur un autre formulaire.
help.... -
je peux rajouter que le cadre du formulaire se structure dans un fichier (cadre formulaire)
j'ai a l'interieur ces lignes de codes:echo '<form method="post" action="'.$PHP_SELF.'" name="fiche" enctype=multipart/form-data>'."\n"; require_once("/usr/local/apache/serveurs/bd/formulaires/$form.cgi");
peut etre cela peut t'aider -
ben la récupération des données de mes formulaires se fait grace a une fonction php qui se situe dans un autre fichier (fichier fonction)...
Mais en fait j'ai du mal a mi retrouver car c'est un site que j'ai repris (ce n'est pas moi qui l'ai fait) et c le bordel dedans....
mais en gros sur mes pages il y a 3 frames.
- 1
- 2
Suivant