Passer une variable d'un formulaire dans une fonction javascript

Résolu
ohanssens Messages postés 4 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 25 mai 2008 - 25 mai 2008 à 00:42
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 25 mai 2008 à 15:37
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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 mai 2008 à 07:29
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]
3
ohanssens Messages postés 4 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 25 mai 2008
25 mai 2008 à 15:05
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 +
3
ohanssens Messages postés 4 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 25 mai 2008
25 mai 2008 à 12:43
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?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 mai 2008 à 13:04
>> 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]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ohanssens Messages postés 4 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 25 mai 2008
25 mai 2008 à 13:35
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........ 

 
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 mai 2008 à 14: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]
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 mai 2008 à 15:37
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.
0
Rejoignez-nous