Event preventDefault fonctionne plus
Résolu
carterj
Messages postés
45
Statut
Membre
-
carterj Messages postés 45 Statut Membre -
carterj Messages postés 45 Statut Membre -
Bonjour,
Alors voila d’habitude sa fonctionné mais la plus
a l'aide d'un formulaire ou j'ai un Textarea et un button submit, j'essai d’empêcher l'action par défaut qui est action="send.php" pour envoyer mon form avec ajax.
merci d'avance
Alors voila d’habitude sa fonctionné mais la plus
function sendMessage(e){
e.preventDefault();
.......
.....
...
..
}
document.querySelector('form').addEventListener('submit', sendMessage);
a l'aide d'un formulaire ou j'ai un Textarea et un button submit, j'essai d’empêcher l'action par défaut qui est action="send.php" pour envoyer mon form avec ajax.
merci d'avance
3 réponses
-
addEventListener('submit', sendMessage(e));
-
Merci,
j'avais déjà fait ça elle return une erreur "Uncaught ReferenceError: e is not defined " a la linedocument.querySelector('form').addEventListener('submit', sendMessage(e));
je mes suis dis qu'il était hors de porter mais sa n'est ressoude pas mon problème de preventDefault.- ça marche toujour pas voila tout mon code
HTML
<form method="post" action="send.php?action=write">
<input type="text" class="form-control" id="contenu">
<button type="submit" class="btn_send"">Envoyer</button>
</form>
ma function
function sendMessage(event){
event.preventDefault();
const content = document.querySelector('#content');
const data = new FormData();
data.append('content', content.value);
const requeteAjax = new XMLHttpRequest();
requeteAjax.open('POST', 'send.php?action=write');
requeteAjax.onload = function(){
content.value = '';
content.focus();
}
requeteAjax.send(data);
}
document.querySelector("form").addEventListener("click", function(event) {
event.preventDefault();
sendMessage();
}, false);
-
-
Déjà... ça serait bien que tu précises le langage dans les balises de code... histoire qu'on ait la coloration syntaxique et la numérotation des lignes.
Explications sur l'utilisation des balises de code à lire ENTIEREMENT disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite,
si tu ouvres la console JS de ton navigateur... tu dois certainement y voir un joli message d'erreur....
Change ton code par :function sendMessage(){ let content = document.querySelector('#content'); let data = new FormData(); data.append('content', content.value); let requeteAjax = new XMLHttpRequest(); requeteAjax.open('POST', 'send.php?action=write'); requeteAjax.onload = function(){ if (requeteAjax.readyState === 4) { if (requeteAjax.status === 200) { content.value = ''; content.focus(); } else { console.error(requeteAjax.statusText); } } } requeteAjax.send(data); } document.querySelector("form").addEventListener("click", function(event) { event.preventDefault(); sendMessage(); }, false);
-
Merci du conseil :).
echo "hmm ceci est en PHP";
document.getElementById("error_message").style.display = "block"; /* js */
Merci tout roule .