Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/11/2011, 10h33   #1
Invité régulier
 
Inscription : septembre 2011
Messages : 33
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 33
Points : 7
Points : 7
Par défaut Attribution valeur et focus sur un autre input

Bonjour,

Je suis en train de faire un tableau qui récapitule l'ensemble des produit qui rentrent en stock. Lors de leur entrée dans l'informatique j'ai besoin d'indiquer la quantité rentrante et la quantité d'étiquette à imprimer. Je souhaite donc passer de mon champ input 'quantity' à mon champ 'quantity_print' de manière automatique, et proposer pour l'impression le même nombre que la quantité rentrée. J'espère être clair. Il y a un form par ligne.

En gros :
quantity=2, on tape enter, focus sur quantity_print et attribution de la valeur de quantity.

voici un bout de code jquery qui ne fonctionne pas.
Code :
1
2
3
4
5
6
7
8
9
10
 
$(function(){
      $(".quantity").keypress(  
             function(e){
                   e.preventDefault();
                   if(e.which == 13) {
 
$(this).parents('form:eq(0)').find('.quantity_print:eq(0)').val($(this).val()).focus();
 
 } });  })
on rentre bien dans le if la ligne dedans ne s'execute pas ...

voici le html associé:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<table>
   <tr>
          <form>
               <td> <input class="quantity"></td>
               <td> <input class="quantity_print"></td>
          </tr>
          <tr>
          ...
          </form>
    </tr>
</table
Auriez vous des solutions? Merci!
TLOH45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 10h35   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Code :
1
2
3
4
5
6
7
8
9
$(function(){
      $(".quantity").keypress(  
             function(e){
                   e.preventDefault();
                   if(e.which == 13) {
   me=$(this)
$(this).closest('form').find('.quantity_print:eq(0)').val(me.val()).focus();
 
 } });  })
??
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 10h40   #3
Invité régulier
 
Inscription : septembre 2011
Messages : 33
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 33
Points : 7
Points : 7
Merci de ta réponse rapide.

Nan ca ne marche pas .
TLOH45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 10h46   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type='text/javascript'>
$(function(){
      $(".quantity").blur(  function(){
      				$(this).closest('tr').find('.quantity_print:eq(0)').val($(this).val()).focus(); })
 
   }) </script>
</head>
<body>
<form>
   <table>
          <tr>
               <td> <input class="quantity"></td>
               <td> <input class="quantity_print"></td>
          </tr>
    </table>
</form>
</body>
</html>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 10h51   #5
Invité régulier
 
Inscription : septembre 2011
Messages : 33
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 33
Points : 7
Points : 7
O Grand Merci!!

Cela marche très bien!! mais saurais tu pourquoi il n'accepte pas 'form'? il est pourtant bien dans le DOM, normalement il devrait trouver mon objet...

Encore merci.
TLOH45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 10h51   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
ou pour conserver ton appui sur la touche enter
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script type='text/javascript'>
$(function(){
      $(".quantity").keypress(  function(e){
      				 if(e.which == 13) {	
      				$(this).closest('tr').find('.quantity_print:eq(0)').val($(this).val()).focus();
      				}
      				 })
 
   }) </script>
</head>
<body>
<form>
   <table>
          <tr>
               <td> <input class="quantity"></td>
               <td> <input class="quantity_print"></td>
          </tr>
    </table>
</form>
</body>
</html>
Avec ton preventDefault tu inhibais le keypress ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 10h59   #7
Invité régulier
 
Inscription : septembre 2011
Messages : 33
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 33
Points : 7
Points : 7
Mon prevent default ne bloque pas le keypress, il bloque le submit. Lors de ma précédente réponse je l'avais laissé car sinon je ne change pas d'input je recharge la page. Ce n'est donc pas ca qui bloque la fonction.

J'arrivais très bien à afficher une alert en appuyant sur la touche enter, mais la fonction avec 'form' ne marche pas.

Quoiqu'il en soit, avec prevent Default, et closest ('tr') j'obtiens ce que je souhaite.

Merci!

Code :
1
2
3
4
5
6
7
8
 
$(function(){
        $(".quantity").keypress(  
                 function(e){
                     e.preventDefault();
                     if(e.which == 13) {
$(this).closest('tr').find('.quantity_print:eq(0)').val($(this).val()).focus(); 
} });  });
TLOH45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h02   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Citation:
Mon prevent default ne bloque pas le keypress,
Si !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(function(){
      $(".quantity").keypress(  function(e){
                              e.preventDefault()
      				 })
 
   }) </script>
</head>
<body>
<form>
   <table>
          <tr>
               <td> <input class="quantity" type="text"></td>
          </tr>
    </table>
</form>
</body>
</html>
vu que tu bloques le comportement par defaut du keypress tu ne peux rien ecrire dans l'input
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h11   #9
Invité régulier
 
Inscription : septembre 2011
Messages : 33
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 33
Points : 7
Points : 7
Oula Honte sur moi...

Effectivement je m'excuse platement, le prevent default bloque toute les entrées avant le if, il faut donc le mettre dedans pour ne pas lancer le submit, mais etre capable de changer la valeur par défault et changer le focus.

Merci beaucoup cela m'évite un sacré débuggage.

Et pour le form? (pure curiosité)
TLOH45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h14   #10
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
ben faut le faire dans l'evenement submit() du form ...


Par contre la mise en page avec un table dans un form au moyen d'un balise table ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h24   #11
Invité régulier
 
Inscription : septembre 2011
Messages : 33
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 33
Points : 7
Points : 7
en fait mon form englobe un tr seulement je me suis trompé dans la réécriture. Je cherche toujours un autre moyen de faire mais je n'ai trouvé que cela un formulaire par ligne...


Citation:
Et pour le form? (pure curiosité)
je voulais savoir pourquoi mon tout premier code jquery ne marchait pas à cause de 'form' (que l'on a remplacé par 'tr'). Ce n'est pas le preventDefault qui bloquait ca...
TLOH45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h29   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Citation:
en fait mon form englobe un tr seulement
Pire que tout
tu ne peux pas briser une structure de table en insérant des balises form entre les tr ...

soit ton form est dans le tr
soit ton table est dans le form
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/11/2011, 11h35   #13
Invité régulier
 
Inscription : septembre 2011
Messages : 33
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 33
Points : 7
Points : 7
et pour les td c'est génant? Ou trouver ce genre de règle?
TLOH45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h38   #14
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
oui c'est genant de briser une structure
cf les règles du w3c
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h40   #15
Invité régulier
 
Inscription : septembre 2011
Messages : 33
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 33
Points : 7
Points : 7
Donc comment conseille tu de construire ma table?
TLOH45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h44   #16
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Personnellement
je te déconseillerais d'utiliser une table pour la mise en forme ...

sinon au pire :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<form>
<table>
   <tr>
 
               <td> <input class="quantity"></td>
               <td> <input class="quantity_print"></td>
          </tr>
          <tr>
          ...
 
    </tr>
</table>
</form>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h49   #17
Invité régulier
 
Inscription : septembre 2011
Messages : 33
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 33
Points : 7
Points : 7
Merci pour tout ça!!
TLOH45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h39.


 
 
 
 
Partenaires

Hébergement Web