cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 2015
-
11 oct. 2007 à 12:07
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 2015
-
5 janv. 2010 à 15:03
Saluté ...
j'ai un pb tout con ... pour changer...
par défaut dans les navigateurs la touche entrée sert à valider le formulaire ...
seulmement voila je voudrai pour moi que la touche entrée serve à lancer une opération ajax (fonction JS ... etc...)
j'ai le script suivant qui marche bien si le code de la touche n'est pas entrée... mais dès que je mets le code 13 (pour return) ben mon formulaire est quand même valité ..j'aimerai simplement trouver l'opération à ajouter pour shunter ce comportement ;)
merci d'avance à qui aura la bonté de m'aiguiller !
@++
function keyUserList(ev) {
var alt = ev.altKey;
var shift = ev.shiftKey;
var ctrl = ev.ctrlKey;
var touche = ev.keyCode;
//alert (touche);
if (touche==13) {
filtreUserList(document.getElementById('filteruser').value);
return 0;
}
}
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 11 oct. 2007 à 13:35
yes merci à vous !!
j'avais feinté en mettant un input type button avec un événement onclick pour contourner ce pb mais je vais tester ces solutions qui permettront de garder la validation du formulaire si JS est désactivé ;)
@++
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 11 oct. 2007 à 13:40
<form name="monForm" onSubmit="maFonction();return false;"> ... </form>
en fait ça ça ne marche pas ...
car du coup on ne peut plus soumettre le formulaire même en cliquant sur le bouton ...lol
je vais conserver la technique du input button validé par js ;)
merci
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 11 oct. 2007 à 14:12
>> ces solutions qui permettront de garder la validation du formulaire si JS est désactivé
ah ben non...
ça ne fonctionnera pas si le javascript est désactivé,
(
dans ce cas seul fonctionne
mais peut-être en prévoyant une solution de repli
entre <noscript></noscript> )
mais comme tu nous parlais d'AJAX, donc JavaScript obligatoire ?
"le mieux", finalement, c'est-y pas de ne pas changer le comportement par défaut ?
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 11 oct. 2007 à 15:38
"je voudrai pour moi que la touche entrée serve à lancer une opération ajax (fonction JS ... etc...)"
Si tu veux executer une fonction JS/Ajax lors de l'appuie sur la touche "Entrer" alors la solution que je t'ai fournis fonctionne.
Maitenant si en plus tu veux en plus poster ton formulaire (???) tu peux utiliser l'instruction "tonFormulaire.submit()".
Cependant, j'aimerai bien comprendre pourquoi tu veux déclancher une requete Ajax et poster ton formulaire.
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201548 5 janv. 2010 à 14:59
Bonjour à tous.
Juste une petite indication quant à un problème que j'ai enfin réussi à solutionner.
Je suis exactement dans le même cas que caviar : j'ai un formulaire et je souhaite lancer une fonction ajax lors de l'appui sur entrée.
Mon formulaire était cependant, à chaque fois, validé quand je tapais sur entrée. Pourtant, je n'avais pas de bouton submit ni la moindre ligne de code permettant la validation du formulaire. Mais ce problème n'apparaissait que sur un page, alors que mon script Ajax était utilisé par 2 pages différentes
J'ai fini par comprendre (enfin il me semble) que lorsqu'il n'y a qu'un seul input dans un formulaire, l'appui sur entrée valide automatiquement celui-ci (sans qu'il n'y ait besoin ni de javascript ni de bouton submit).
J'ai donc utilisé une solution un peu bourrin (il y a certainement mieux) : un peu plus loin dans mon formulaire.
Je préfère indiquer ça parce que j'ai passé beaucoup de temps à comprendre d'où venait le problème, qui ne survenait pas si je remplaçait un (rempli par Ajax) par un (il faut avouer que ça parait bizarre - bien que logique avec l'explication ci-dessus).
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -