IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

G�rer des attributs "value" avec Javascript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    852
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 852
    Par d�faut G�rer des attributs "value" avec Javascript
    Bonjour,

    Peut-on utiliser du javascript pour �tablir la value d'un champ input ? Ceci ne fonctionne pas :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <input type="hidden" name="champ" value="<script language='JavaScript' type='text/javascript'>document.write(MaFonction());</script>" />
    (la fonction renvoie bien un r�sultat)

    Le but de la manoeuvre est de faire passer la valeur par un formulaire POST, en passant par php �a marche mais pas avec JS.

    Merci pour votre aide !

    Edit : r�solu (voir les messages fin page 2 + page 3 pour toutes explications)

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par d�faut
    Citation Envoy� par Jarodd Voir le message
    Peut-on utiliser du javascript pour �tablir la value d'un champ input ?
    Oui
    Citation Envoy� par Jarodd Voir le message
    Ceci ne fonctionne pas :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <input type="hidden" name="champ" value="<script language='JavaScript' type='text/javascript'>document.write(MaFonction());</script>" />
    Ce n'est pas comme ca qu'il faut faire...
    Si tu veux passer par javascript pour agir sur la valeur d'un champ, voici des exemples
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    <script type="text/javascript">
      document.forms['nomDuFormulaire'].elements['nomDuChamp'].value = MaFonction();
    </script>
    ou bien
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    <script type="text/javascript">
      document.getElementById('idDuChamp').value = MaFonction();
    </script>

  3. #3
    Membre �clair�
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    852
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 852
    Par d�faut
    Merci pour le tuyau !

    Mais je ne comprend pas � quel endroit il faut mettre le script ? Est-ce cela remplace la value du champ cach� ? Dans ce cas faut-il mettre quelque chose � la place ?

    (edit : c'est la r�ponse � gwyohm, je teste le code Alexdezark de suite !)

  4. #4
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    Citation Envoy� par Jarodd Voir le message
    Mais je ne comprend pas � quel endroit il faut mettre le script ?
    tu peux en faire une fonction (comme dans la r�ponse de Alexdezark), que tu pourras appeler sur le onload du <body> : elle sera lanc�e d�s la page enti�rement charg�e et alimentera ton input.

    A+

  5. #5
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par d�faut
    Citation Envoy� par Jarodd Voir le message
    Merci pour le tuyau !

    Mais je ne comprend pas � quel endroit il faut mettre le script ? Est-ce cela remplace la value du champ cach� ? Dans ce cas faut-il mettre quelque chose � la place ?

    !)
    Non il faut garder ton champ hidden :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    <form name="nomDuFormulaire">
    <input type="hidden" name="champ" value="" />
    </form>
    <script type="text/javascript">
      document.forms['nomDuFormulaire'].elements['champ'].value = MaFonction();
    </script>
    par exemple.
    Concernant la r�ponse d'Alexdezark, il y a quelques trucs qui me chiffonnent :
    document.getElementByTagName n'existe pas je crois : il s'agit de document.getElementsByTagName.
    De plus cette m�thode se base sur le nom de la balise, pas la propri�t� name donc plutot
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    document.getElementsByTagName("input");
    mais qui va renvoyer un tableau de tous les inputs... Je pense qu'Alexdezark pensait plutot � getElementsByName...

  6. #6
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par gwyohm Voir le message
    Concernant la r�ponse d'Alexdezark, il y a quelques trucs qui me chiffonnent :
    document.getElementByTagName n'existe pas je crois : il s'agit de document.getElementsByTagName.
    De plus cette m�thode se base sur le nom de la balise, pas la propri�t� name donc plutot
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    document.getElementsByTagName("input");
    mais qui va renvoyer un tableau de tous les inputs... Je pense qu'Alexdezark pensait plutot � getElementsByName...
    Je n'avais pas vu mais tu as tout � fait raison. Dans le cas pr�sent, aucun des 2 (m�me avec une syntaxe correcte) n'est pertinent.
    C'est soit
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.forms['nomDuFormulaire'].elements['champ'].value
    soit
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementsById('id_input').value
    suivant si l'on est ou non dans un <form> ...

    A+

  7. #7
    Membre �clair�
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    852
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 852
    Par d�faut
    MErci pour toutes ces r�ponses, je suis en train de tester mais le JS n'est pas mon fort, �a prend un peu de temps

  8. #8
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par d�faut
    essaye plutot �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    <script>
    function maFonction(){
    novelleValeur=//mon calcul;
    document.getElementByTagName("champ").value=nouvelleValeur;
    };
     
    </script>
     
    <input type="hidden" name="champ" value=""/>
     
    MaFonction();
    bonne journ�e

  9. #9
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par d�faut
    ha, y'avait d�ja une r�ponse...

    Comme �a tu as plusieures solutions

  10. #10
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par d�faut
    alors :

    ta fonction en haut de page.

    puis ton champ masqu� (value="")

    puis l'appel � ta fonction qui d�finit la valeur de ton champ masqu�

  11. #11
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par Alexdezark Voir le message
    ta fonction en haut de page.

    Pas du tout
    Au contraire : c'est l� que tu as le plus de "chance" d'avoir des erreurs (objet inexistant).
    Il faut la d�clarer dans la partie <head>, puis l'appeler soit dans le onload du body, soit en toute fin de page (au niveau de </body>.
    Citation Envoy� par Alexdezark Voir le message
    (value="")
    Non ! Peu importe la valeur qu'il avait avant

    A+

  12. #12
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par E.Bzz Voir le message
    l'appeler soit dans le onload du body, soit en toute fin de page (au niveau de </body>.
    A+

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Recuperer le noms des attributs d'une requete avec Hibernate
    Par Molkobain dans le forum Hibernate
    R�ponses: 11
    Dernier message: 11/03/2009, 08h48
  2. Probl�me d'utilisation des attributs width et height avec une image distante
    Par Ptit_Mouss dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 21/09/2006, 15h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo