Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/10/2008, 01:40
matak
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 16 años, 4 meses
Puntos: 5
Recoger el valor de un input por POST

Hola amigos foreros:

Estoy haciendo unas pruebas y no me funcionan...

La idea es:

Tengo el siguiente archivo index.html:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>

<meta http-equiv="Content-Language" content="es">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<title>Prueba Ajax POST</title>

<script type="text/javascript" language="javascript" src="js/ajax.js"></script>

</head>
<body>

<FORM ACTION="javascript:pruebaPost('prueba.php');" NAME="formPruebaPOST" METHOD="POST" ENCTYPE="multipart/form-data">
  <input type="text" name="dato_prueba" id="dato_prueba" VALUE=''/>
  <input type="submit" name="enviar" id="enviar" VALUE='Enviar Form'/>
</FORM>

<div id="contenido"></div>
  
</body>
</html> 
como se puede ver en el action del form hacemos una llamada a una función javascript. Dicha función está en el siguiente archivo js/ajax.js

Código javascript:
Ver original
  1. function objetoAjax(){
  2.     var xmlhttp=false;
  3.     try {
  4.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.     } catch (e) {
  6.         try {
  7.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.         } catch (E) {
  9.             xmlhttp = false;
  10.     }
  11.     }
  12.  
  13.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.         xmlhttp = new XMLHttpRequest();
  15.     }
  16.     return xmlhttp;
  17. }
  18.  
  19. function pruebaPost(datos){
  20.     divcontenido = document.getElementById('contenido');
  21.     ajax=objetoAjax();
  22.     ajax.open("POST", datos);
  23.     ajax.onreadystatechange=function() {
  24.         if (ajax.readyState==4) {
  25.             divcontenido.innerHTML = ajax.responseText
  26.         }
  27.     }
  28.     ajax.send(null)
  29. }

el archivo que se envía al servidor por medio de ajax es el siguiente, prueba.php

Código php:
Ver original
  1. <?PHP
  2. $dato_prueba=$_POST['dato_prueba'];
  3.  
  4. echo "El dato de prueba es: $dato_prueba";
  5. ?>

Lo que necesito es poder recuperar el elemento del form en la petición de ajax al servidor. No hay forma...

ERROR

Notice: Undefined index: dato_prueba in C:\Archivos de programa\Apache...

Si pudieran hecharme una manita...

Muchas gracias...
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!