Bonjour,
Je pense ne plus voir mon erreur tellement cela fait longtemps que je suis dessus. Je vais tenter de vous expliquer mon soucis. Voilà, cela me paraissait simple au départ : envoyer la valeur d'un textarea en ajax (vers une page php qui traite la chaîne de caractères via une regex) puis retourner le résultat dans un div. Et bien voilà, je récupère la valeur du textarea....ça c'est bon, mais comme l'impression que ma page php ne la reçoit pas....mystère.
Voici mon code :
Je pense ne plus voir mon erreur tellement cela fait longtemps que je suis dessus. Je vais tenter de vous expliquer mon soucis. Voilà, cela me paraissait simple au départ : envoyer la valeur d'un textarea en ajax (vers une page php qui traite la chaîne de caractères via une regex) puis retourner le résultat dans un div. Et bien voilà, je récupère la valeur du textarea....ça c'est bon, mais comme l'impression que ma page php ne la reçoit pas....mystère.
Voici mon code :
<label for="texte">Votre message :</label><br /><br />
<textarea id="texte" name="text" ></textarea><br /><br />
<input type="button" value="Envoyer" id="btnSub" />
<div id="result"></div>
let text = document.getElementById('text'),
result = document.getElementById('result'),
btnSub = document.getElementById('btnSub');
btnSub.addEventListener('click', () => {
let xhr = new XMLHttpRequest();
let val = 'x=' + encodeURIComponent(text.value);
xhr.onreadystatechange = function () {
if (xhr.status === 200 && xhr.readyState === 4) {
result.innerHTML = xhr.responseText;
} else {
result.innerHTML = 'Erreur : ' + xhr.status + ' ' + xhr.statusText;
}
xhr.open('POST', 'page.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(val);
<?php
if (isset($_POST['x']) && !empty($_POST['x'])) {
[...]
echo '<p>' . $_POST['x'] . '</p><br /><hr />';
} else {
echo 'Problème !';
}
?>