Bonjour, je suis nouveau sur JS et je pourrais avoir besoin d'aide. Donc, j'essaie d'envoyer du texte d'une zone de texte à une fonction appelée inputFromText
lors d'un clic sur un bouton Soumettre, mais la fonction est déclenchée avant le clic (lors de l'ouverture de la fenêtre html par un électron) et rien ne se passe lorsque vous cliquez sur le bouton après.cliquez sur les déclenchements d'événement sans bouton cliquez sur
Comment puis-je empêcher cela?
<body>
<form>
<div class="form-group">
<textarea class="form-control" rows="5" id="txa_trainingText"></textarea>
<button type="submit" class="btn btn-default" id="btn_submit">Submit</button>
</div>
</form>
<script>
const trainingText = document.getElementById("txa_trainingText").value;
document.getElementById("btn_submit").addEventListener("click", inputFromText(trainingText));
function inputFromText(text) {
...
}
</script>
</body>
Je trouve que lorsque vous utilisez une fonction sans l'argument texte on pourrait résoudre le problème en écrivant:
function inputFromText(e) {
e.preventDefault();
...
}
Possible doublon de [addEventListener appelle la fonction sans même que je le demande à] (https://stackoverflow.com/questions/16310423/addeventlistener-calls-the-function-without-me-even-asking-it-to – DocMax
Vous devez transmettre la référence à la fonction en tant que second paramètre à 'addEventListener'. Comme écrit, vous appelez la fonction et passez la valeur retournée à la place. Voir la question liée pour des réponses plus détaillées. – DocMax