Priorité souris sur le clavier

Priorité souris sur le clavier - HTML/CSS - Programmation

Marsh Posté le 19-08-2006 à 22:24:44    

Pour remplir un formulaire rien ne vaut la touche "enter" pour passer d'un champ à un autre. C'est tellement pratique.... Le hic est que dans ce formulaire il y a des boutons qui restent inhibés. Etant débutant, je ne retrouve pas le moyen de court-circuiter la fonction suivante par la souris.
En quelque sorte c'est donner une priorité supérieure à la souris.....
 
function submit_focus(){
   var T_elemt = new Array('fact_num','date_fact','montant', 'tx_tva' ); //un ptit tableau avec les id des champs
    for (var i=0; i<T_elemt.length;i++) { //une ptite boucle
        var Elt = document.getElementById(T_elemt[i]); //on récupère notre champ
        if (Elt) { //on teste si l'élément récupéré existe dans la page
            if (Elt.value == '' ) { // si il est vide
                Elt.focus(); //on fait un focus sur lui
                return false; // on retourne false pour ne pas envoyer le formulaire
            }
        }
    }
    return true; //on retourne true à la fin
}
 
Est ce possible de faire une telle priorité.


Message édité par thierryR le 20-08-2006 à 00:01:06
Reply

Marsh Posté le 19-08-2006 à 22:24:44   

Reply

Marsh Posté le 20-08-2006 à 06:18:24    

C'est pas la fonction ENTER qui permet de passer d'un champ à un autre, mais la touche TAB.
 
La touche Enter elle sert justement à envoyer le formulaire.  
Alors je t'invite à laisser le comportement de ton formulaire comme il est.
 
Hum c'est bizarre, mais ton script, à la facon de coder et avec les commentaires on dirait un truc que j'ai pondu il  ya un petit moment :/

Reply

Marsh Posté le 25-08-2006 à 23:27:02    

Ben c'est peut-être possible. Je n'ai aucune prétention en ce domaine. Je m'inspire des bonnes idées pour arriver à ce que je veux, mais n'y connaissant pas grand chose, j'hérite de mes pères.
sur cet exemple, le problème est que dés que j'ouvre le formulaire, il ne m'est plus possible de faire quoi que ce soit avant que les champs soient remplis. C'est un peu embêtant. J'aurais donc voulu donner une priorité aux boutons.
"supprimer", "annuler", "retour" ....
Mais comme je ne sais pas, je demande, tout simplement.
Merci.

Reply

Marsh Posté le 25-08-2006 à 23:39:31    

Reply

Marsh Posté le 26-08-2006 à 20:05:46    

Tiens ! effectivement je viens de relire ce vieux post et j'ai la même question au bout qui demeure. Je vais donc essayer encore. J'en profite pour répondre à ton affirmation de l'autre post. Je ne colle pas du js au milieu du php; mais j'appelle une entete php de façon générique. C'est pour ça que tu trouve une variable. Mais même si je ne connais rien, j'essaie quand même de bien faire... J'ai surement fais un montage tarabiscoté, mais le résultat n'est pas trop mal, me semble t-il.
La question majeure est, comment différentier un champ d'un bouton en js.
 

Reply

Marsh Posté le 26-08-2006 à 23:44:45    

input.type=='submit'
non?

Reply

Marsh Posté le 27-08-2006 à 00:13:45    

Voici mon projet. Les boutons par un "onclick" lanceraient une fonction js qui rempli un champ que j'appellerais "bouton" à la valeur "T". J'implémente la fonction "submit_focus()" en lui disant de tenir compte de la valeur du champ "bouton". Ca me parait fastidieux mais ça devrait fonctionner. Je ne sais pas déclarer une variable js général....

Reply

Marsh Posté le 27-08-2006 à 00:16:50    

> ... déclarer une variable js général...
var var_generale= 'coucou';

Reply

Marsh Posté le 27-08-2006 à 16:58:34    

Pour l'instant c'est pas concluant. Mais je crois que Gatsu35 à raison. Mon code avec tous ces appels et ses renvois à un coté merdique en ce qui concerne le js.
 
Je veux bien faire un fichier js avec toute mes fonctions dedans.
J'ai une function que je n'arrive pas à intégrer :
   window.onload = function() {
   document.getElementById('id_modele').focus();
   }
Comment puis je appeler une telle function depuis le php sachant que mon id est différent entre chaque formulaire.

Reply

Marsh Posté le 27-08-2006 à 19:35:43    

En js:

Code :
  1. function setFocusTo(mon_identifiant) {
  2.    document.getElementById(mon_identifiant).focus();
  3.    }


 
En PHP:

Code :
  1. <html>...<body ...
  2. onload="javascript:setFocusTo('id_modele');" ... >


Reply

Marsh Posté le 27-08-2006 à 19:35:43   

Reply

Marsh Posté le 28-08-2006 à 00:14:04    

Ca c'est une formule qui va bien m'aider. Je ne la connaissais pas. Merci beaucoup Nargy

Reply

Marsh Posté le 28-08-2006 à 00:16:32    

ya pas besoin de mettre javascript: dans les events :o

Reply

Marsh Posté le 28-08-2006 à 00:45:57    

gatsu35 a écrit :

ya pas besoin de mettre javascript: dans les events :o


Si définit là où il faut  :o

Reply

Marsh Posté le 28-08-2006 à 05:33:33    

<tag onclick="javascript:...."> <== caca
<tag onload="javascript:...."> <== caca
<tag onmouseover="javascript:...."> <== caca
 
 
<tag onclick="mafunc()"> <= bien
<tag onload="mafunc()"> <= bien
<tag onmouseover="mafunc()"> <= bien

Reply

Marsh Posté le 28-08-2006 à 08:13:07    

non Gatsu!
Là je ne comprends pas, tu m'avais habitué à un code javascript impeccable.
Il faut mettre 'javascript:'.

Reply

Marsh Posté le 28-08-2006 à 08:37:10    

nargy a écrit :

Il faut mettre 'javascript:'.


N'importe quoi [:pingouino]
 
Le "pseudo-procotole" "javascript":
1. N'existe pas
2. n'a d' """intérêt""" que quand on met du JS dans l'attribut "href" d'un lien, il n'en a strictement aucun quand on utilise onclick, onmouseover, onload, onmousedown ou autre évènement


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-08-2006 à 09:19:18    

nargy a écrit :

Il faut mettre 'javascript:'.


Tain mais écoute ce qu'on te dit bon sang !
Où est-ce que tu es allé apprendre une telle ineptie [:pingouino]

Reply

Marsh Posté le 28-08-2006 à 15:31:45    

Ha oui, vous avez tout à fait raison:
http://www.w3.org/TR/WD-script-970314#intrinsic
Il manque donc le tag:
http://www.w3.org/TR/WD-script-970314#deflang
...sur 99.99999% des pages web :p
 

Citation :

Où est-ce que tu es allé apprendre une telle ineptie [:pingouino]


heum.... où je sais plus, disons quelquepart sur un site qui parlait de HTML version 3, donc ça date...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed