Hola,
muchas gracias por responderme, la cuestion es que estoy enviando los datos por medio de la funcion mail().
aunque el codigo es un poco largo es entendible, lo dejo a ver que me pueden sugerir
Código PHP:
<?php
//incluímos la clase ajax
require_once ("xajax/xajax_core/xajax.inc.php");
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->configure('decodeUTF8Input',true);
//registramos la función creada anteriormente al objeto xajax
$xajax->register(XAJAX_FUNCTION,"procesar_formulario");
//funcion para procesar los datos del formulario
function procesar_formulario($form_entrada){
//creo el xajaxResponse para generar una salida
$respuesta = new xajaxResponse();
$respuesta->setCharacterEncoding('ISO-8859-1');
$destinatario = "info@alemanautodidacta.com";
$nombre = $form_entrada["nombre"];
$email = $form_entrada["email"];
$asunto = $form_entrada["asunto"];
//validación
$error_form = "";
if ($nombre == "")
$error_form = "Por favor escribe tu nombre";
elseif ($email == "")
$error_form = "Por favor escribe tu correo electronico";
elseif ($asunto == "")
$error_form = "Por favor escribe el asunto del mensaje";
//compruebo resultado de la validación
if ($error_form != ""){
//Hubo un error en el formulario
//en la capa donde se muestran mensajes, muestro el error
$respuesta->assign("mensaje","innerHTML","<span style='color:red;'>$error_form</span>");
}else{
//es que no hubo error en el formulario
//$salida = "Gracias $nombre por escribirnos, el mensaje $asunto sera respondido a la brevedad al correo electronico $email";
//////// Esta linea es solo para ver el valor del textarea "mensaje", así como está me da un error
$salida = $mensaje;
/////////////////////////////////////////////////////////////////
$headers = "From $nombre $email\n";
//mostramos en capa mensaje el texto que está todo correcto
$respuesta->assign("mensaje","innerHTML","<span style='color:blue;'>Mensaje enviado correctamente</span>");
//escribimos en la capa con id="capaformulario" el texto que aparece en $salida
$respuesta->assign("capaformulario","innerHTML",$salida);
//mail($destinatario,$asunto,$mensaje,$headers);
}
//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta;
}
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>
<html>
<head>
<title>Enviar y procesar un formulario con Ajax y PHP</title>
<?php
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
$xajax->printJavascript("xajax/");
?>
</head>
<body>
<div id="mensaje">
<p>Completa los campos con tus datos, agrega tu mensage y el asunto y pulsa "Enviar"</p>
</div>
<div id="capaformulario">
<form id="formulario">
<table align="left" cellspacing="0" cellpadding="1" border="0" width=400>
<tr>
<td><b>Nombre</b></td>
<td><b>Correo electronico</b></td>
</tr>
<tr>
<td><input type="text" name="nombre" maxlength="55" value="" size="28"></td>
<td><input type="text" name="email" maxlength="55" value="" size="28"></td>
</tr>
<tr>
<td><b>Asunto: </b></td>
</tr>
<tr>
<td><input type="text" name="asunto" maxlength="55" value="" size="28"></td>
</tr>
<tr>
<td><b>Mensaje</b></td>
</tr>
<tr>
<td><textarea name="mensaje" rows="15" cols="55"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" value="Enviar" onclick="xajax_procesar_formulario(xajax.getFormValues('formulario'))" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>
Gracias de antemano