16/12/2008, 12:48
|
| | | Fecha de Ingreso: junio-2008 Ubicación: Viena
Mensajes: 203
Antigüedad: 16 años, 7 meses Puntos: 5 | |
Respuesta: Problema al extraer el valor de un textarea 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 = "[email protected]"; $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
__________________ Paulo |