[PHP] Verif caractère dans un input et modif
Résolu/Fermé
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
-
20 sept. 2011 à 15:56
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 23 sept. 2011 à 10:22
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 23 sept. 2011 à 10:22
A voir également:
- [PHP] Verif caractère dans un input et modif
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Caractere speciaux mac - Guide
- Easy php - Télécharger - Divers Web & Internet
21 réponses
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
22 sept. 2011 à 16:07
22 sept. 2011 à 16:07
Et voila la version finale ! Attention, la réponse sera forcément convertie tout en minuscules et les ponctuations sont mal gérées par le traitement ! En revanche j'ai ajouté une file qui permet les superpositions d'événements, on peut donc taper aussi vite qu'on veut :-)
Et y a les commentaires en bonus.
Et y a les commentaires en bonus.
<script type="text/javascript"> // Définition des variables globales vraieReponse = ""; reponseEnCours = false; // Permet de savoir si l'utilisateur est en train de taper une réponse phraseAAfficher = "Voulez-vous répondre"; // Possibilité de la modifier si besoin tCaracteresReponseEnAttente = new Array(); // Tableau servant de file afin de gérer les superpositions d'événements /** Fonction cachant la réponse de l'internaute au fur et à mesure qu'il écrit * Cette fonction est appelée à chaque fois qu'une touche est relachée sur le clavier * @param : input : balise input modifiée par l'internaute * @param : codeTouche : keyCode de la touche appuyée, permet de gérer les cas du backspace **/ function cacherReponse(input, codeTouche){ if (input.value.match(/^V.+\./) && reponseEnCours == true){ // Quand l'utilisateur tape le 2e point, sa réponse est terminée : on "nettoie" l'input input.value = "Voulez-vous répondre à ma question ?"; reponseEnCours = false //alert("Debug - La réponse rentrée est : "+vraieReponse); } else{ if (input.value.match(/\..*/) || reponseEnCours == true){ // Cas où l'utilisateur tape le premier point ou ce qu'il y a derrière /* On enregistre le fait qu'on soit dans la réponse */ if (!reponseEnCours) reponseEnCours = true; /* Conversion des chaînes en tableaux pour plus de facilité de manip' */ var tableauPhraseAAfficher = phraseAAfficher.split(""); var tailleReponseAvecPoint = input.value.length; /* Gestion de la réponse "vraie" */ if (tailleReponseAvecPoint > 1 && (codeTouche > 48 || codeTouche == 32 /*espace*/)){ // Cas où on tape une touche écrivante (lettre, chiffre, espace...) tCaracteresReponseEnAttente.push(String.fromCharCode(codeTouche)); completerReponse(); } else { // Gestion des touches particulières if (codeTouche == 8){ // Cas de la suppression d'un caractère (backspace) var tChaineReponseActuelle = vraieReponse.split(""); vraieReponse = ""; for (var j=0 ; j<tChaineReponseActuelle.length-1 ; j++){ vraieReponse += tChaineReponseActuelle[j]; } } } /* On efface l'input et on la recompose avec le même nombre de caractères mais en piochant ceux-ci dans la phrase à afficher */ var boutAAfficher = "" for (var i=0 ; i<tailleReponseAvecPoint ; i++){ if (i < tableauPhraseAAfficher.length){ boutAAfficher += tableauPhraseAAfficher[i]; } else { // Si la réponse tapée dépasse le nombre de caractères de la phrase de remplacement, on comble avec des espace boutAAfficher += " "; } } input.value = boutAAfficher; // Enfin, on remplace au sein de l'input } else { // Cas de frappe "normale" if (reponseEnCours) reponseEnCours = false; } } } /** Méthode en charge du vidage de la file de caractère pour complétion de la réponse **/ function completerReponse(){ while (tCaracteresReponseEnAttente.length > 0){ vraieReponse += tCaracteresReponseEnAttente.shift().toLowerCase(); } } </script>
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
20 sept. 2011 à 15:59
20 sept. 2011 à 15:59
Saloute,
Je t'aiderai avec plaisir, mais j'ai besoin de plus de précision en effet. Déjà que signifie ton "ainsi de suite".
De ce que j'ai compris, la phrase :
"Bonjour à tous, je suis Mihawk. J'ai 23 ans et je suis au Lycée. Ca va ?"
Deviendrait :
"Bonjour à tous, je suis Mihawkerfgtdofthyrazzr'"(y-'fgerhtyjtfdsz Ca va ?"
C'est ça ?
Je t'aiderai avec plaisir, mais j'ai besoin de plus de précision en effet. Déjà que signifie ton "ainsi de suite".
De ce que j'ai compris, la phrase :
"Bonjour à tous, je suis Mihawk. J'ai 23 ans et je suis au Lycée. Ca va ?"
Deviendrait :
"Bonjour à tous, je suis Mihawkerfgtdofthyrazzr'"(y-'fgerhtyjtfdsz Ca va ?"
C'est ça ?
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
21 sept. 2011 à 09:26
21 sept. 2011 à 09:26
Salut !
Déjà merci de t'intéresser à mon sujet !
et non ce n'est pas exactement cela !
Le "ainsi de suite" je vais l'expliquer dans cette phrase :
l'utilisateur 'basic' et qui ne connais pas l'astuce tapera une phrase du genre : "Voulez vous répondre à ma question ?" (1)
Ici rien ne ce passe donc c'est bon.
L'utilisateur qui va jouer l'astuce va t'aper réellement sur son clavier :
" .RéponseAlaQuestion. à ma question ? " (2)
Le nombre de caractères de : " .RéponseAlaQuestion. " est de 20 et "remplace" les 20 premier caractères de la phrase (1).
Mais la phrase (2), n'est que ce que tape l'utilisateur. A l'écran sa afficherais la phrase (1).
J'imagine que c'est assez vague, mais c'est pas facil à expliquer.. ^^
J'aimerais que lorsque l'utilisateur marque un "." dans le champ ce point soit remplacer par une lettre précise (ici intervient le "ainsi de suite") car entre les 2 point se trouvera la réponse "cachée" d'une question !
Exemple :
L'utilisateur marque : ".MaRéponse. répondre à ma question ?"
à la validation cela marquera : MaRéponse
Mais ce MaRéponse est 'invisible' à l'écran, cela sera afficher come ceci : "Voulez vous répondre à ma question ?" (1)
je comprend que ça ne doit pas être facil à comprendre mais je suis présent pour des précision (encore ^^)
et merci pour l'aide !
Déjà merci de t'intéresser à mon sujet !
et non ce n'est pas exactement cela !
Le "ainsi de suite" je vais l'expliquer dans cette phrase :
l'utilisateur 'basic' et qui ne connais pas l'astuce tapera une phrase du genre : "Voulez vous répondre à ma question ?" (1)
Ici rien ne ce passe donc c'est bon.
L'utilisateur qui va jouer l'astuce va t'aper réellement sur son clavier :
" .RéponseAlaQuestion. à ma question ? " (2)
Le nombre de caractères de : " .RéponseAlaQuestion. " est de 20 et "remplace" les 20 premier caractères de la phrase (1).
Mais la phrase (2), n'est que ce que tape l'utilisateur. A l'écran sa afficherais la phrase (1).
J'imagine que c'est assez vague, mais c'est pas facil à expliquer.. ^^
J'aimerais que lorsque l'utilisateur marque un "." dans le champ ce point soit remplacer par une lettre précise (ici intervient le "ainsi de suite") car entre les 2 point se trouvera la réponse "cachée" d'une question !
Exemple :
L'utilisateur marque : ".MaRéponse. répondre à ma question ?"
à la validation cela marquera : MaRéponse
Mais ce MaRéponse est 'invisible' à l'écran, cela sera afficher come ceci : "Voulez vous répondre à ma question ?" (1)
je comprend que ça ne doit pas être facil à comprendre mais je suis présent pour des précision (encore ^^)
et merci pour l'aide !
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
21 sept. 2011 à 10:28
21 sept. 2011 à 10:28
Genre le mec écrit : .Une grenouille. à ma question ?
Et au fur et à mesure qu'il écrit, cela se transforme en "Voulez-vous répondre à ma question ?" tout en conservant le "Une grenouille" dans une variable ?
Et au fur et à mesure qu'il écrit, cela se transforme en "Voulez-vous répondre à ma question ?" tout en conservant le "Une grenouille" dans une variable ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
21 sept. 2011 à 10:58
21 sept. 2011 à 10:58
Voilà ! Bravo ! J'arrivais pas a l'expliquer simplement ^^ C'est pour sa que je parle de modification de caractères ^^
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
21 sept. 2011 à 11:36
21 sept. 2011 à 11:36
Et que se passe-t-il s'il tape que 4 caractères, ça donne : "Voul à ma question ?"
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
21 sept. 2011 à 11:41
21 sept. 2011 à 11:41
Non par exemple admettons qu'il tape le mot ' un ' :
.un.ez vous répondre à ma question ?
le 'un' sera dans une variable, mais à l'écran ça affichera bien : Voulez vous répondre à ma question ?
.un.ez vous répondre à ma question ?
le 'un' sera dans une variable, mais à l'écran ça affichera bien : Voulez vous répondre à ma question ?
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
21 sept. 2011 à 11:46
21 sept. 2011 à 11:46
Et s'il tape : ".Un ez répondre à ma question ?" donc en oubliant le 2nd point. What happens ?
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
21 sept. 2011 à 11:53
21 sept. 2011 à 11:53
La je ferais une gestion d'erreur disant une réponse alléatoire ! je pense ou quelque chose du genre...
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
21 sept. 2011 à 12:26
21 sept. 2011 à 12:26
Ok, bon passons aux choses sérieuses : tu veux faire de la modification temps réel d'un champ ; le langage de prédilection est donc le Javascript.
Tu t'y connais un peu ?
Tu t'y connais un peu ?
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
21 sept. 2011 à 13:38
21 sept. 2011 à 13:38
Ha non pas du tout... je pensais que ce serait possible à faire en PHP avec une fonction ou autre...
J'ai trouver comment faire une 'réponse' aléatoire a partir d'un tableau mais c'est pas très dur..
J'ai trouver comment faire une 'réponse' aléatoire a partir d'un tableau mais c'est pas très dur..
Popoï_
Messages postés
171
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
8 mars 2019
75
21 sept. 2011 à 23:01
21 sept. 2011 à 23:01
On pourra mettre des caractères comme "^ . [ ] $ ( ) * + ? | { } \" ?
Parce qu'à mon avis, la meilleure solution ce sont les REGEX...
Tu repères si les deux points avec un truc au milieu est bien présent, si oui tu remplaces avec le "Voulez vous répondre" et tu stockes la réponse avec des parenthèses capturantes... Mais est-ce que tu connais le language REGEX?
Parce qu'à mon avis, la meilleure solution ce sont les REGEX...
Tu repères si les deux points avec un truc au milieu est bien présent, si oui tu remplaces avec le "Voulez vous répondre" et tu stockes la réponse avec des parenthèses capturantes... Mais est-ce que tu connais le language REGEX?
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
22 sept. 2011 à 09:08
22 sept. 2011 à 09:08
Les points d'interrogations seront présents oui enfin du moin un seul mais le reste non sa resera une simple question...
Et pour le langage REGEX non je ne connais pas c'est la première fois que j'en entend parler... Comme dis précédemment je croyais que sa pouvais se faire en PHP...
Mais si tu me dis que le language REGEX est une bonne solution je suis tout à ton écoute ainsi que celle de Mihawk pour je JS...
Et pour le langage REGEX non je ne connais pas c'est la première fois que j'en entend parler... Comme dis précédemment je croyais que sa pouvais se faire en PHP...
Mais si tu me dis que le language REGEX est une bonne solution je suis tout à ton écoute ainsi que celle de Mihawk pour je JS...
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
22 sept. 2011 à 09:28
22 sept. 2011 à 09:28
Hello,
Je suis d'accord avec Popoï_ : il va falloir utiliser des regexp dans la méthode onChange() du champ concerné.
Donc dans ta balise <input id="idDeMonInput"> du champ rempli par l'utilisateur, tu met un attribut : onChange="remplacerReponse(this.value);"
Ensuite tu va placer ailleurs dans ta page, ou dans une page .js source que tu insèreras dans la page du formulaire, la méthode javascript en question :
En tout cas, quelque chose du genre. Après il risque en effet d'y avoir un soucis au niveau des métacaractères. Si ta réponse risque d'en contenir, il va falloir ajouter un replace en charge des les échapper.
Je suis d'accord avec Popoï_ : il va falloir utiliser des regexp dans la méthode onChange() du champ concerné.
Donc dans ta balise <input id="idDeMonInput"> du champ rempli par l'utilisateur, tu met un attribut : onChange="remplacerReponse(this.value);"
Ensuite tu va placer ailleurs dans ta page, ou dans une page .js source que tu insèreras dans la page du formulaire, la méthode javascript en question :
<script type="text/javascript"> function remplacerReponse(textParam){ textParam = textParam.replace(/\..+\./g, "Voulez-vous répondre"); document.getElementById("idDeMonInput").value = textParam; } </script>
En tout cas, quelque chose du genre. Après il risque en effet d'y avoir un soucis au niveau des métacaractères. Si ta réponse risque d'en contenir, il va falloir ajouter un replace en charge des les échapper.
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
22 sept. 2011 à 10:43
22 sept. 2011 à 10:43
Merci beaucoup pour voter aide je vois a peut près le principe !
Mais ne conaissant pas du tout le JS pouvez vous m'indiquez ce que je pourrais mettre à la place de 'textParam' ?
Mais ne conaissant pas du tout le JS pouvez vous m'indiquez ce que je pourrais mettre à la place de 'textParam' ?
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
Modifié par Mihawk le 22/09/2011 à 10:54
Modifié par Mihawk le 22/09/2011 à 10:54
Rien du tout ! Regarde le code : la fonction est appelée avec comme paramètre : "this.value" c'est à dire avec le contenu de la balise input.
[EDIT] : "rien du tout" signifie que tu laisses "textParam" !
[EDIT] : "rien du tout" signifie que tu laisses "textParam" !
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
22 sept. 2011 à 11:17
22 sept. 2011 à 11:17
Mais tu es sur que du coup si je tape dans le champ : .MaRéponse.
ça sera remplacer part : Voulez vous répondre...?
Désolé mais je ne connais pas du tout JS j'ai essayer d'analyser le script mais pas facil ^^ !
ça sera remplacer part : Voulez vous répondre...?
Désolé mais je ne connais pas du tout JS j'ai essayer d'analyser le script mais pas facil ^^ !
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
22 sept. 2011 à 11:28
22 sept. 2011 à 11:28
En fait ça, au moment ou le gars va taper le deuxième point, l'intégralité de la réponse sera caché. C'est un début, il faut déjà tester cela !
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
22 sept. 2011 à 11:41
22 sept. 2011 à 11:41
Alors j'ai fait ça :
Dans ma page principale j'ai mis : require "remplace.js"
et dans remplace.js le code que tu m'a dis en remplaçant bien "idDeMonInput" par "demande".
J'ai essayer de taper .blabla. , et de continuer de taper des caractères mais cela ne cache pas la réponse.
Dans ma page principale j'ai mis : require "remplace.js"
et dans remplace.js le code que tu m'a dis en remplaçant bien "idDeMonInput" par "demande".
J'ai essayer de taper .blabla. , et de continuer de taper des caractères mais cela ne cache pas la réponse.
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
22 sept. 2011 à 11:43
22 sept. 2011 à 11:43
Confirmes-tu que le "demande" est bien l'ID de l'input modifiée par l'utilisateur ; et que tu as bien ajouté l'événément "onChange" sur ce même input ?
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
Modifié par Mihawk le 22/09/2011 à 11:56
Modifié par Mihawk le 22/09/2011 à 11:56
Bon, voici un premier jet que j'ai fais en local, teste un peu son comportement et tiens moi au jus !
Tant qu'on ne fait pas, on ne sait pas.
<form> <input id="demande" type="text" style="width:500px" onKeyUp ="cacherReponse(this);"> </form> <script type="text/javascript"> vraieReponse = ""; // Variable globale stockant la vraie réponse function cacherReponse(input){ if (input.value.match(/\..+\./)){ vraieReponse = input.value.replace(/\.(.+)\./g, "$1"); var textCache = input.value.replace(/\..+\./g, "Voulez-vous répondre à ma question ?"); input.value = textCache; alert(vraieReponse); // A supprimer ensuite } } </script>
Tant qu'on ne fait pas, on ne sait pas.
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
22 sept. 2011 à 12:05
22 sept. 2011 à 12:05
Haaaa sa commence à venir :D ! je te remercie pour ton aide déjà !!
Alors ce qui se pazsse c'est que lorsque l'utilisateur à tapé le deuxieme "." cela se "transforme" en : Voulez-vous répondre à ma question ?
Un très très bon début ! :) mais le alert n'affiche rien... enfin de ce que j'ai compris sa aurai du afficher ce qui avait entre les 2 "." ?
Alors ce qui se pazsse c'est que lorsque l'utilisateur à tapé le deuxieme "." cela se "transforme" en : Voulez-vous répondre à ma question ?
Un très très bon début ! :) mais le alert n'affiche rien... enfin de ce que j'ai compris sa aurai du afficher ce qui avait entre les 2 "." ?
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
22 sept. 2011 à 12:12
22 sept. 2011 à 12:12
Chez moi ça affiche bien la réponse... Tu n'as pas oublié de copier la déclaration de variable globale :
vraieReponse = "";
vraieReponse = "";
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
22 sept. 2011 à 12:16
22 sept. 2011 à 12:16
Si autant pour moi c'est bien ça qui ma tué ^^ !
Sa marche pour cette partie !
Sa marche pour cette partie !
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
22 sept. 2011 à 12:17
22 sept. 2011 à 12:17
Bon, maintenant, précise ce qui te convient / ne te convient pas dans ce comportement ?
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
Modifié par digsaw_- le 22/09/2011 à 13:51
Modifié par digsaw_- le 22/09/2011 à 13:51
Alors en faite ce que j'aimerais c'est que au fur et à mesure que l'utilisateur tape, le texte change...
exemple :
lorsqu'il tape lettre à lettre
. = V
m = o
a = u
r = l
e = e
p = z
o = (espace)
n = v
s = o
e = u
. = s
le .mareponse. est bien évidemment toujours caché, et l'utilisateur (du moin l'arnaqueur) tape la fin de la question ici : répondre à ma question ?
Je précise que le nombre de caractères de .mareponse. peuvent variés...
exemple :
lorsqu'il tape lettre à lettre
. = V
m = o
a = u
r = l
e = e
p = z
o = (espace)
n = v
s = o
e = u
. = s
le .mareponse. est bien évidemment toujours caché, et l'utilisateur (du moin l'arnaqueur) tape la fin de la question ici : répondre à ma question ?
Je précise que le nombre de caractères de .mareponse. peuvent variés...
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
Modifié par Mihawk le 22/09/2011 à 15:18
Modifié par Mihawk le 22/09/2011 à 15:18
Voici un code qui fonctionne. J'ai ajouté un div avec l'ID "test" pour voir en temps réel l'avancement de la vrai réponse (accessible via la variable globale "vraieReponse").
Seul problème majeur : quand on tape doucement ça marche à merveille ; dès qu'on tape rapidement, les événements se mélangent et ça fait n'importe quoi !
Tu peux copier/coller ce code dans une page HTML à part et la faire tourner sous Mozilla ou autre pour tester, tu verras par toi-même.
[EDIT] : code modifié !!
Tant qu'on ne fait pas, on ne sait pas.
Seul problème majeur : quand on tape doucement ça marche à merveille ; dès qu'on tape rapidement, les événements se mélangent et ça fait n'importe quoi !
Tu peux copier/coller ce code dans une page HTML à part et la faire tourner sous Mozilla ou autre pour tester, tu verras par toi-même.
<html> <body> <form> <input id="demande" type="text" style="width:500px" onKeyUp ="cacherReponse(this, event.keyCode);"> </form> <div id="test"></div> </body> </html> <script type="text/javascript"> vraieReponse = ""; reponseEnCours = false; phraseAAfficher = "Voulez-vous répondre"; function cacherReponse(input, codeTouche){ if (input.value.match(/^V.+\./) && reponseEnCours == true){ //alert("debug2"); input.value = "Voulez-vous répondre à ma question ?"; reponseEnCours = false alert(vraieReponse); // A supprimer ensuite } else{ if (input.value.match(/\..*/) || reponseEnCours == true){ //alert("debug1"); if (!reponseEnCours) reponseEnCours = true; var tableauPhraseAAfficher = phraseAAfficher.split(""); var tableauCaracteres = input.value.split(""); if (tableauCaracteres.length > 1 && (codeTouche > 48 || codeTouche == 32 /*espace*//* Ajouter d'autres conditions de restriction des touches */)){ vraieReponse += tableauCaracteres[tableauCaracteres.length-1]; document.getElementById("test").innerHTML+=tableauCaracteres[tableauCaracteres.length-1]; } else { if (codeTouche == 8){ // Cas de la suppression d'un caractère var tChaineReponseActuelle = vraieReponse.split(""); vraieReponse = ""; document.getElementById("test").innerHTML = ""; for (var j=0 ; j<tChaineReponseActuelle.length-1 ; j++){ vraieReponse += tChaineReponseActuelle[j]; document.getElementById("test").innerHTML += tChaineReponseActuelle[j]; } } } var boutAAfficher = "" for (var i=0 ; i<tableauCaracteres.length ; i++){ if (i < tableauPhraseAAfficher.length){ boutAAfficher += tableauPhraseAAfficher[i]; } else { boutAAfficher += " "; } } input.value = boutAAfficher; } else { //alert("debug3"); } } } </script>
[EDIT] : code modifié !!
Tant qu'on ne fait pas, on ne sait pas.
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
22 sept. 2011 à 15:23
22 sept. 2011 à 15:23
Je ne sais comment te remercier !
Popoï_
Messages postés
171
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
8 mars 2019
75
22 sept. 2011 à 21:44
22 sept. 2011 à 21:44
Bon ben... je crois que j'ai même pas eu le temps de dire ouf que le problème était déjà résolu :p
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
23 sept. 2011 à 08:30
23 sept. 2011 à 08:30
^^
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
23 sept. 2011 à 09:20
23 sept. 2011 à 09:20
Vraiment bien joué Mihawk !!!
J'ai simplement une question... lorsque je tape le premier "." tout va pour le mieu même si je tape vite et c'est génial ! et lorsque je tape le deuxieme "." la phrase " Voulez-vous répodnre à ma question ?" s'affiche d'un seul coup ..?
et un truc tout bête mais comment faire pour le la chaine stockée entre les "." soit enregistrée dans une variable pour que je puisse la mettre dans un champ en php ?
merci pour ce travail qui rend très bien, merci pour tout et pour tes efforts et le temps que tu y a passé !
J'ai simplement une question... lorsque je tape le premier "." tout va pour le mieu même si je tape vite et c'est génial ! et lorsque je tape le deuxieme "." la phrase " Voulez-vous répodnre à ma question ?" s'affiche d'un seul coup ..?
et un truc tout bête mais comment faire pour le la chaine stockée entre les "." soit enregistrée dans une variable pour que je puisse la mettre dans un champ en php ?
merci pour ce travail qui rend très bien, merci pour tout et pour tes efforts et le temps que tu y a passé !