[Javascript] problème Firefox javascript
Résolu/Fermé
A voir également:
- [Javascript] problème Firefox javascript
- Telecharger javascript - Télécharger - Langages
- Video downloadhelper firefox - Télécharger - Outils pour navigateurs
- Firefox telecharger - Télécharger - Navigateurs
- Exporter favoris firefox - Guide
- Erreur #125 javascript - Forum Mozilla Firefox
6 réponses
GallyNet
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
387
15 mars 2006 à 09:01
15 mars 2006 à 09:01
L'evenement onkeypress doit bien etre gere par firefox car elle est dans la recommendation du W3C.
Pour tant assurer, ajout un alert('test') au début de ta fonction.
Pour connaitre qu'elle erreur il peut y avoir, tu peut essayer d'ouvrir la console javascript de firefox, elle te dira surement que event n'existe pas. Et pour cause, elle n'a été défini nul part (IE le définit par défaut, par firefox).
Pour résoudre ca, tu modifie ton onKeyPress comme suit :
(je suis pas sur pour evt, ca peut être aussi event)
et ta fonction :
(la tu peut mettre ce que tu evut evt, ou event)
Pour tant assurer, ajout un alert('test') au début de ta fonction.
Pour connaitre qu'elle erreur il peut y avoir, tu peut essayer d'ouvrir la console javascript de firefox, elle te dira surement que event n'existe pas. Et pour cause, elle n'a été défini nul part (IE le définit par défaut, par firefox).
Pour résoudre ca, tu modifie ton onKeyPress comme suit :
onKeyPress="OnlyNumber(evt);"
(je suis pas sur pour evt, ca peut être aussi event)
et ta fonction :
function OnlyNumber(event)
(la tu peut mettre ce que tu evut evt, ou event)
bonjour,
mon problème c'est que mon code java script ne s'exécute plus
je veux que mon champ de texte m'affiche tous les N° d'inventaire qui commence par la lettre que l'utilisateur va saisir
je pense que mon code est correcte puisque rien n'est souligné en rouge(:D)
j'ai essayé avec la balise script dans la mm page jsp et en utilisant un fichier JS
Merci de m'avoir aider
mon problème c'est que mon code java script ne s'exécute plus
je veux que mon champ de texte m'affiche tous les N° d'inventaire qui commence par la lettre que l'utilisateur va saisir
je pense que mon code est correcte puisque rien n'est souligné en rouge(:D)
j'ai essayé avec la balise script dans la mm page jsp et en utilisant un fichier JS
Merci de m'avoir aider
Merci beaucoup GallyNet pour ton aide!
La réponse était quasiment exacte ;)
window.event est spécifique à ie!!
le script suivant marche à merveille!
il permet de ne saisir des nombres dans une zone de saisie!
<script language="javascript">
<!--
function OnlyNumber(e)
{
// if aEvent is null, means the Internet Explorer event model,
// so get window.event.
var IE5 = false;
if (!e) var e = window.event;
if (e.keyCode) { IE5= true; code = e.keyCode;}
else if (e.which) code = e.which ;
//test du code
if (code < 48 || code > 57)
{
if(IE5) e.returnValue = false;
else e.preventDefault();
}
}
//-->
</script>
Un grand merci pour ton aide qui m'a mis largement sur la voie ;)
La réponse était quasiment exacte ;)
window.event est spécifique à ie!!
le script suivant marche à merveille!
il permet de ne saisir des nombres dans une zone de saisie!
<script language="javascript">
<!--
function OnlyNumber(e)
{
// if aEvent is null, means the Internet Explorer event model,
// so get window.event.
var IE5 = false;
if (!e) var e = window.event;
if (e.keyCode) { IE5= true; code = e.keyCode;}
else if (e.which) code = e.which ;
//test du code
if (code < 48 || code > 57)
{
if(IE5) e.returnValue = false;
else e.preventDefault();
}
}
//-->
</script>
Un grand merci pour ton aide qui m'a mis largement sur la voie ;)
Bonjour à vous,
j'ai également eu ce problème avec ff. Suite à l'aide d'un autre internaute, j'ai effectivement utilisé la même solution. Mais l'ennui est que ff bloque également les touches de navigation (flèches directionelles, suppr, retour arrière, tab...). Pour certaines, les keycodes font effet, mais pour d'autres (flèches par exemple), même en ajoutant les keycodes à la liste des touches acceptées, cela n'a aucun effet.
Est ce que vous avez été confrontés à ce problème ?
Merci
j'ai également eu ce problème avec ff. Suite à l'aide d'un autre internaute, j'ai effectivement utilisé la même solution. Mais l'ennui est que ff bloque également les touches de navigation (flèches directionelles, suppr, retour arrière, tab...). Pour certaines, les keycodes font effet, mais pour d'autres (flèches par exemple), même en ajoutant les keycodes à la liste des touches acceptées, cela n'a aucun effet.
Est ce que vous avez été confrontés à ce problème ?
Merci
Salut, j'ai également eu ce problème mais j'ai été en mesure de le résoudre en combinant les évènements OnKeyPress et OnKeyDown. Voici une ébauche de mon code :
Il est possible d'adapter le code pour Internet Explorer. L'utiliser que j'ai trouvé avec mes fonctions est de mettre un champ <TEXTAREA> en type="password". L'idée est de remplacer chaque caractère par des étoiles. Je n'ai pas donné ma solution car je suis entrain de l'adapter pour IE. Je la publiera sous-peu.
<SCRIPT LANGUAGE="JavaScript"> function ecrit(e, obj, type) { // Variable var browser = ""; // Firefox if (e.which) { // On determine le code ASCII keynum = e.which // On determine le navigateur browser = "FF"; } // Autre navigateur (non supporter) else { // On affiche la touche sans rien faire return true; } // On attrape la touche DELETE et on lui assigne le key code 7 if ( type == "down" ) { // Touche DELETE if ( keynum == 46 ) { // On lui assigne une nouvelle combinaison keynum = 7; } // On permet de se deplacer else if ( keynum >= 37 && keynum <= 40 ) { return true; } // On ne permet aucune autre touche else { return false; } } // On determine le caractere keychar = String.fromCharCode(keynum); // On insere le caractere return insertion( obj, keychar, keynum, browser ); } function insertion(obj, keychar, keynum, broswer) { // Variable var position; // Firefox if ( broswer == "FF" ) { // Variable de travail var start = obj.selectionStart; var end = obj.selectionEnd; // Toutes les autres touches if ( keynum >= 32 || keynum == 13 ) { // On affiche la touche main.password.value = main.password.value.substr(0, start) + keychar + main.password.value.substr(end, obj.value.length); } else { // Touche DELETE if ( keynum == 7 ) { // On enleve un caractere main.password.value = main.password.value.substr(0, start) + main.password.value.substr(end + 1, main.password.value.length); } // Touche BACKSPACE if ( keynum == 8 ) { // On enleve un caractere main.password.value = main.password.value.substr(0, start - 1) + main.password.value.substr(end, main.password.value.length); } } } // On donne le focus a l'object obj.focus(); // Traitement pour les autres touches if ( keynum >= 32 || keynum == 13 ) { // Positionnement position = start + 1; } // Traitement pour la touche DELETE if ( keynum == 7 ) { // Positionnement position = start; } // Traitement pour la touche BACKSPACE if ( keynum == 8 ) { // Positionnement position = start - 1; } // On positionne le curseur obj.setSelectionRange(position, position); // On affiche pas la touche car on l'a ajoute manuellement return false } </SCRIPT><FORM NAME="main"> <TEXTAREA ROWS=7 NAME="password" COLS=70 WRAP=SOFT onKeyPress="javascript:return ecrit(event, this, 'press')" onKeyDown="javascript:return ecrit(event, this, 'down')">Voici un exemple</TEXTAREA></FORM>
Il est possible d'adapter le code pour Internet Explorer. L'utiliser que j'ai trouvé avec mes fonctions est de mettre un champ <TEXTAREA> en type="password". L'idée est de remplacer chaque caractère par des étoiles. Je n'ai pas donné ma solution car je suis entrain de l'adapter pour IE. Je la publiera sous-peu.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour faire simple, on peut aussi remplacer le onkeypress par un onkeydown.
Dans MSIE, event.keyCode renvoie bien le code ASCII du caractère pressé lors de onkeypress.
Lors du même événement, Firefox renvoie 0 pour les touches alphanumériques.
En revanche event.keyCode renverra le code ASCII du caractère pressé si la fonction est appelée lors de onkeydown.
function OnlyNumber (evt) {
...
alert(evt.keyCode);
...
}
<input type="text" onkeydown="OnlyNumber(evt);" />
Vous pouvez trouver mon script pour n'accepter que des nombres entiers à cette url :
https://www.toutjavascript.com/forum/
N.B. : A l'avenir, essayez de donner des titres plus précis pour les nouvelles discussions. C'est possible...
Dans MSIE, event.keyCode renvoie bien le code ASCII du caractère pressé lors de onkeypress.
Lors du même événement, Firefox renvoie 0 pour les touches alphanumériques.
En revanche event.keyCode renverra le code ASCII du caractère pressé si la fonction est appelée lors de onkeydown.
function OnlyNumber (evt) {
...
alert(evt.keyCode);
...
}
<input type="text" onkeydown="OnlyNumber(evt);" />
Vous pouvez trouver mon script pour n'accepter que des nombres entiers à cette url :
https://www.toutjavascript.com/forum/
N.B. : A l'avenir, essayez de donner des titres plus précis pour les nouvelles discussions. C'est possible...
Salut à tous !
J'ai un petit souçi avec une fonction javascript qui fonctionne trés bien sous IE7 mais pas sous Firefox.
C'est une fonction que j'appel sur un clic sur bouton pour lancer une recherche, en fait elle traite l'URL fait une redirection, ensuite en PHP je récupére les paramétres de l'URL pour effectuer la recherche sur ma BDD.
Le code est le suivant :
function lancer() {
doc = document.location.href.split("?");
if(doc.length>1) {
ouEst = doc[1].indexOf("query");
if (ouEst>=0) {
location.href=doc[0]+"?"+doc[1].substring(0,(ouEst-1))+"&query="+recherche.value;
}
else {
location.href=doc[0]+"?"+doc[1]+"&query="+recherche.value;
}
}
else {
location.href=doc[0]+"?"+"query="+recherche.value;
}
}
La page se trouve à cette adresse : http://www.joanel.fr/recherche.php.
Merci
Djodjo
J'ai un petit souçi avec une fonction javascript qui fonctionne trés bien sous IE7 mais pas sous Firefox.
C'est une fonction que j'appel sur un clic sur bouton pour lancer une recherche, en fait elle traite l'URL fait une redirection, ensuite en PHP je récupére les paramétres de l'URL pour effectuer la recherche sur ma BDD.
Le code est le suivant :
function lancer() {
doc = document.location.href.split("?");
if(doc.length>1) {
ouEst = doc[1].indexOf("query");
if (ouEst>=0) {
location.href=doc[0]+"?"+doc[1].substring(0,(ouEst-1))+"&query="+recherche.value;
}
else {
location.href=doc[0]+"?"+doc[1]+"&query="+recherche.value;
}
}
else {
location.href=doc[0]+"?"+"query="+recherche.value;
}
}
La page se trouve à cette adresse : http://www.joanel.fr/recherche.php.
Merci
Djodjo