Passer une variable d'un formulaire dans une fonction javascript

[Résolu]
Signaler
Messages postés
4
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
25 mai 2008
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Voilà une question sur laquelle je bloque.

Je voudrais faire passer une valeur d'un élément de formulaire dans un popup via une fonction Javascript.

Cela va me créer une sorte d'envois en mode GET via la fonction javascript

Voici la fonction popup:
function OuvrirPopup(page,nom,option) {
 window.open(page,nom,option);
}

Voici la ligne appelante:

Et la valeur a faire passer : qui est modifieée via une autre fonction javascript (testée et fonctionnelle)

Le nom du formulaire est "facturation" mais je ne veux pas passer par le submit car ce n'est que pour ajouter une ligne dans un tableau dynamique sans recharger toute la page, d'ou l'utilisation d'un popup qui change les valeur directement dans la page appelante.

Addligne() permet d'ajouter une ligne dans mon tableau dynamique et arreter() permet de vérifier si le tableau est au nombre de ligne maximale.
Maintenant reste à remplir la nouvelle ligne et pour cela j'aurais besoin de passer l'identifiant du client par parametre dans la fonction.

Merci d'avance de votre aide.

7 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

>faire passer une valeur d'un élément de formulaire dans un popup via une fonction Javascript.
    question presque récurent, moins aujourd'hui puisque
       les pop-up sont en général refusés par les utilisateurs
>>Cela va me créer une sorte d'envois en mode GET via la fonction javascript
    commment ?

var pop;
function OuvrirPopup(page,nom,option) {
 pop=window.open(page,nom,option);

    et pop.tous_les_éléments_de_la_page_pop-up_sont_accessibles_depuis_la_page_mère
    ou l'inverse, dans le pop-up,
         window.opener.tous_les_éléments_de_la_page_mère_sont_accessibles_depuis_la_page_pop-up

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
4
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
25 mai 2008

Voilà j'ai trouvé une solution, à partir de la fenêtre en popup je récupère la valeur du client via la ligne

 document.forms["trad_rechercher"].elements["ID_cli"].value=window.opener.document.forms["facturation"].elements["ID_cli"].value;

Merci beaucoup pour tes conseils.
A +
Messages postés
4
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
25 mai 2008

Tout d'abord merci d'avoir répondu aussi vite.

J'aurais bien aimé faire passer la variable par l'adresse de la page mais récupérer les valeurs de la page mère à partir de la page fille est une très bonne alternative.

Je vais donc m'orienter vers cette solution.

PS: un window.open est considéré comme un popup par les anti-popup? Y a-t-il une autre alternative sans passer par un formulaire?
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>> bonne alternative.
    c'est "pas ça".
    pas que ce soit une bonne alternative, c'est comme ça que ça marche.
    on pourrait passer par des cookies, des paramètres par l'url....etc...
          mais ce serait bien "compliquer" les choses.

>>un window.open est considéré comme un popup par les anti-popup?
    ben.. oui ! window.open c'est un pop-up
    perso, je les refuse avce tous les navigateurs dont j'abuse,
        sauf sur quelques site ( le mien, CodesSources, MicroSoft ... )

>>Y a-t-il une autre alternative sans passer par un formulaire?
    un formulaire peut être considéré comme un pop-up.

    alternative ? ça dépend de ce que tu fais.
    mais un div, un span.... caché qu'on montre quand il faut
       ( jouer sur style.display="none" ou "inline" )
    j'espère que ce n'est pas pour de la pub....   ;o)

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
4
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
25 mai 2008

Non ce n'est pas pour de la pub, c'est pour mon travail de fin d'études.
Je m'explique, j'ai un formulaire à remplir pour créer des factures. (les éléments sont des traductions)

Je recherche le client, je remplis les différentes zones administratives de la facture -> jusqu'ici tout va bien.

Maintenant je voudrais ajouter les éléments non encore facturés à cette facture. (dans un tableau dynamique)
J'ai donc pensé utiliser une fenêtre popup qui m'affiche une liste des éléments non encore facturés pour ce client.
Et lors du choix de l'élément la ligne du tableau est automatiquement remplie.

L'idée du div/span caché que l'on ouvre quand il faut, suis pas sur, comme le client n'est pas encore connu et que je ne voudrais pas recharger toute la page........ 

 
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>L'idée du div/span caché que l'on ouvre quand il faut, suis pas sur, comme le client n'est pas encore connu
    rien à voir.... puisque tu fais dans un pop-up, les circonstances sont les mêmes
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
perso je préfère :

document.trad_rechercher.ID_cli.value =
window.opener.document.facturation.ID_cli.value;

mais bon... chacun ses goûts, et uniquement
pour éviter la frappe de caractères.
je ne sais pas ce qui est "le meilleur"
pas d'importance je pense.