Je souhaite créer une dictée de mots.
Le principe est simple : je propose 4 mots, avec pour chacun, un bouton pour commander à l'ordinateur de le dire à l'oral. La personne tape alors le mot dans un champ texte à côté. Quand la personne a tapé au clavier les 4 mots dans les champs textes associés, il doit alors alors appuyer sur la touche "Envoyer" du formulaire pour que les réponses soient transmises à un fichier "Resultat.php", qui traitera les réponses.
Mon problème vient du "button onclick" utilisé dans le programme ci-dessous : quand j'appuie sur un des boutons commandant à l'ordinateur de dire un mot à l'oral, l'ordinateur dit bien le mot, mais cela lance aussi le fichier "Resultat.php", alors que je n'ai pas appuyé sur le bouton "Envoyer" du formulaire.
Je ne comprends pas ce qui pose problème. Quelqu'un aurait-il une solution ?
Code du programme posant problème :
(remarque : le programme de base est beaucoup plus étoffé (base de données MySQL, PHP), mais je l'ai simplifié ici pour pouvoir zoomer uniquement sur le problème)
@karamel
Messages postés1830Date d'inscriptionvendredi 9 mai 2008StatutModérateurDernière intervention 2 juin 2023146 13 juil. 2022 à 10:38
bonjour essai en rajoutant un preventDefault() a la fonction
function parle(texte,evt) {
evt.preventDefault()
var message = new SpeechSynthesisUtterance(texte);
message.lang = "fr-FR";
window.speechSynthesis.speak(message);
}