Pour mon site, et plus particulièrement mon forum, j'ai voulu utiliser ajax pour pouvoir avoir une méthode de prévisualisation. Hors, ma fonction ne marche pas. Elle ne marche seulement lorsqu'il y a une erreur, ça m'affiche l'erreur. Voici mon code :
nouveau_sujet.tpl
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Naltariël - Liste des sujets</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="includes/bbcode.js"></script>
<script type="text/javascript" src="includes/previsualisation.js"></script>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="templates/style.css" />
</head>
<body>
/* Du code */
<tr>
<td><strong>Aperçu</strong></td>
<td id="apercu"></td>
</tr>
<?php
$debut = microtime();
require_once ('includes/sql.class.php');
require_once('includes/template.php');
require_once('includes/xajax.inc.php');
/* Toujours du code */
?>
previsualisation.js
Code : Tout sélectionner
function apercu(f,id)
{
var texte = document.getElementById('message').value;
var xhr;
if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP');
else
{
alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
return;
}
xhr.open('POST', 'includes/previsualisation.php', true);
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4)
{
if (document.getElementById) document.getElementById(id).innerHTML = xhr.responseText;
}
}
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
var data = 'message=' + escape(texte);
xhr.send(data);
}
<?php
header('Content-type: text/html; charset=iso-8859-1'); // en-tête HTTP
include('forum_parse.php'); // pour la fonction bbcode_parse()
echo nl2br(htmlentities(forum_parse($_POST['message']),ENT_QUOTES)); // on affiche le html
?>
Quelqu'un a-t-il la solution ?Merci d'avance,
Tchouboudou