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 :

Récuperer la valeur d'un champ d'un formulaire après onblur


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 35
    Points : 31
    Points
    31
    Par défaut Récuperer la valeur d'un champ d'un formulaire après onblur
    Bonjour,

    c'est bete mais je n'arrive pas à recupérer le contenu d'un champ d'un formulaire:

    <TD>
    <INPUT name="Lemontant" type="text" onblur = alert(Lemontant.value)>
    </TD>
    Quand je quitte le champ (avec on blur) L'alerte affiche undefined au lieu d'afficher Lemontant saisie.

    Merci pour vos idées.

  2. #2
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Une idée ?
    Poser cette question sur le forum JavaScript.


    Mais poutr ton problème je pense que alert(this.value) marcherait mieux.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  3. #3
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Une autre idée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form name="MonForm>
    .....
    <INPUT value="?????" name="Lemontant" type="text" onblur = alert(document.MonForm.Lemontant.value)> 
    .....
    </form>

  4. #4
    CUCARACHA
    Invité(e)
    Par défaut Identifie tes contrôles
    Salut,

    Je te conseille d'identifier systematiquement tes contrôle et tes formulaire à l'aide de l'attribut ID.

    Tu pourras ensuite faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(window.document.getElementById(idDeTonControle).value);
    Bien à toi

    Laurent

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 35
    Points : 31
    Points
    31
    Par défaut mais ....
    Bon en fait la solution de PC75 aurait du fonctionner mais pas dans mon cas car je suis en ASP (et c'est une précision que j'aurai du donner dès le début!)
    Donc le problème est que le resultat est toujours "undefined"

    Mon but est de recuperer la valeur du montant à ajouter (laaugmentation)

    voila mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <FORM method="post" name="jeff">  
     TABLE WIDTH=300 BORDER = 1>
        <TR>
         <TD WIDTH=100>
            Employé
         </TD>
     
         <TD WIDTH=100>
           Salaire actuel
        </TD>
     
         <TD WIDTH=100>
            montant à ajouter
         </TD>
     
         <TD WIDTH=100>
                nouveau salaire
          </TD>
    </TR>	
     
    <%
     DO while not mySet_Contenu_table.eof 
    	      aff_nom     = mySet_Contenu_table("nom")
    	      aff_salaire = mySet_Contenu_table("salaire")
      	  %>
     
     
      <!-- affichage du contenu des champs -->
    <TR>
       <TD WIDTH=100>
       <%=aff_nom%>
       </TD>
     
       <TD WIDTH=100>
       <%=aff_salaire%>
       </TD>
     
     
    <TD> 
     <INPUT name="Laaugmentation"  type="text"   onblur = alert(document.jeff.Laaugmentation.value)>
    </TD>
     
     <TD WIDTH=100>
       <%=aff_new_salaire%>
     </TD>
     </TR>
     
     
     ' lecture de l'enregistrement suivant
        mySet_Contenu_table.MoveNext
     
     
      loop    %>
    <!-- fermeture du tableau -->
     </TABLE>

  6. #6
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Peux-tu nous expliquer le but de tout ça ?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 35
    Points : 31
    Points
    31
    Par défaut suite
    le but est d'avoir un tableau qui contient pour chaque personne, son salaire actuel (venant d'une table SQL), suivit d'une zone ou l'utilisateur saisie le montant de son augmentation. Lorsqu'on quitte ce champ , le programme indique dans le champ suivant le nouveau salaire.
    Ensuite je mettrai la base à jour.


    Pour être plus clair:

    nom Salaire actuel Augmentation saisie Nouveau salaire
    DUPONT 1000 100 1100.
    DUPUI 500 50 550

    l'Augmentation est saisie par l'utilisateur
    Nouveau salaire est calculé par le prg

  8. #8
    CUCARACHA
    Invité(e)
    Par défaut Bien crad ton code quand même...
    Salut,

    1 tu poses des questions et tu ne tembles pas tenir compte des réponses.
    2 ton code est très crad
    • Tu ferais bien de regrouper la gestion des évennement de ta page dans un bloc de script client situé dans ton <head></head> ou après ton </body>

    3 tu ferais bien de préciser le langage que tu utilises pour ton évennement et mettre tes appels à fonction entre " ou entre '.

    Bien à toi

    Laurent

  9. #9
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 35
    Points : 31
    Points
    31
    Par défaut désolé
    Désolé laurent mais bon je débute en ASP et je mélange pas mal l'ASP et le Javascript. Mais bon il faut bien commencer par faire des programmes pas terible au départ pour progresser par la suite.
    On a tous été débutant...
    (je continue mes recherches)

  10. #10
    CUCARACHA
    Invité(e)
    Par défaut Essaye ça...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <%@ Language=VBScript %>
    <HTML>
    	<HEAD>
    		<META http-equiv="Content-Type" content="text/html;  charset=ISO-8859-1">
    		<TITLE>Page relativement propre</TITLE>
    	<script id=clientEventHandlersJS language=javascript>
    <!--
    function txtAugmentation_onblur(counter){
    	var el = window.document.getElementById("txtAugmentation" + counter);
    	window.alert(el.value);
    }
    //-->
    </script>
    </HEAD>
    	<BODY bgcolor="#FFFFFF">
    		<FORM method="post" name="jeff" ID="Form1">
    			<TABLE WIDTH="300" BORDER="1">
    				<TR>
    					<TD WIDTH="100">
    						Employé
    					</TD>
    					<TD WIDTH="100">
    						Salaire actuel
    					</TD>
    					<TD WIDTH="100">
    						montant à ajouter
    					</TD>
    					<TD WIDTH="100">
    						nouveau salaire
    					</TD>
    				</TR>
    				<% 
    Counter = 0
    DO while not mySet_Contenu_table.eof 
    aff_nom     = mySet_Contenu_table("nom") 
    aff_salaire = mySet_Contenu_table("salaire") 
    %>
    				<!-- affichage du contenu des champs -->
    				<TR>
    					<TD WIDTH="100">
    						<%=aff_nom%>
    					</TD>
    					<TD WIDTH="100">
    						<%=aff_salaire%>
    					</TD>
    					<TD>
    						<INPUT id="txtAugmentation<%=Counter%>" name="txtAugmentation" type="text" language="javascript" onblur="return txtAugmentation_onblur(<%=Counter%>)">
    					</TD>
    					<TD WIDTH="100">
    						<%=aff_new_salaire%>
    					</TD>
    				</TR>
    				<%
    Counter = Counter + 1
    mySet_Contenu_table.MoveNext
    loop 
    %>
    				<!-- fermeture du tableau -->
    			</TABLE>
    		</FORM>
    	</BODY>
    </HTML>

  11. #11
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Une idée comme ça. Ton champ "Laaugmentation" possède le même nom pour toutes les lignes. Peut-être n'aime-t-il pas ?
    Si tu veux essayer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <script language="javascript">
    function Affiche(Zone)
    {
    alert(document.forms[0].elements[Zone].value);
    }
    </script>
     
    <%
    .....
    Cpt = 0
    DO while not mySet_Contenu_table.eof 
       Cpt = cInt(Cpt) + 1
       .....
       <TD> 
       <INPUT name="Laaugmentation<%=Cpt%>"  type="text"   onblur=Affiche(this.name)> 
       </TD> 
       ....
    PS : Pas testé, c'est juste une autre piste

  12. #12
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 35
    Points : 31
    Points
    31
    Par défaut ca marche
    La solution de PC75 fonctionne.
    Je n'ai pas encore essayé la solution de Laurent jordi mais je la garde (ca pourra m'aider pour la suite)

    Un grand merci à vous deux

  13. #13
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Et un petit clic sur le bouton Résolu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récuperer la valeur d' un champs struts layout
    Par amine1980 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/05/2007, 20h58
  2. récuperer la valeur d'un champ select (liste déroulante)
    Par bous_saad317 dans le forum Struts 1
    Réponses: 7
    Dernier message: 03/11/2006, 12h14
  3. récuperer la valeur d'un champs avec $_session
    Par zana74 dans le forum Langage
    Réponses: 3
    Dernier message: 20/08/2006, 17h52
  4. Réponses: 7
    Dernier message: 06/07/2006, 15h32
  5. Réponses: 1
    Dernier message: 19/03/2006, 20h52

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