Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Recoger el valor de un input por POST

Estas en el tema de Recoger el valor de un input por POST en el foro de Frameworks JS en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/10/2008, 01:40
 
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!!!
  #2 (permalink)  
Antiguo 16/10/2008, 02:31
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 10 meses
Puntos: 3
Respuesta: Recoger el valor de un input por POST

prueba poniendo:

<FORM onsubmit="pruebaPost('prueba.php')" ACTION="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>

Un saludo
  #3 (permalink)  
Antiguo 16/10/2008, 02:59
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Recoger el valor de un input por POST

No funciona, ya que me salta a la página prueba.php, y yo lo que quiero es que me muestre el resultado de esa página en el div contenido. Espero explicarme bien???
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!
  #4 (permalink)  
Antiguo 16/10/2008, 03:27
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Recoger el valor de un input por POST

Help me please!!! Me urge solucionar esta pequeña prueba para aplicarlo a mi aplicación

Gracias....
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!
  #5 (permalink)  
Antiguo 16/10/2008, 04:24
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Recoger el valor de un input por POST

Bueno, leyendo las FAQ's del foro y informandome por hay la única forma para conseguir recuperar el elemento sería añadiendo el parametro...

Código javascript:
Ver original
  1. function pruebaPost(datos){
  2.     var par = "dato_prueba="+document.getElementById('dato_prueba').value;
  3.     divcontenido = document.getElementById('contenido');
  4.     ajax=objetoAjax();
  5.     ajax.open("POST", datos, true);
  6.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
  7.     ajax.send(par)
  8.     ajax.onreadystatechange=function() {
  9.         if (ajax.readyState==4) {
  10.             divcontenido.innerHTML = ajax.responseText
  11.         }
  12.     }
  13.  
  14. }

Así funciona...
Que pasa,...,que si tienes un formulario con 40 elementos...pues es un poco castigo, y si son todos input text o elementos simples pues bueno, te montas una función o coges la que hay en las FAQ´s, pero en que empiezas a tener checks,raddios,selects multiples,...pues se complica.

Ojala me equivoque y alguien me conteste diciéndome que soy un ignorante (jjee ) y hay una forma para enviar el formulario y que el envío de los elementos sea automático, si tener que hacer tantas historias.Aunque...va ser que no

Bueno seguire mirando este tema a ver si alguien contesta

Chao y aplaude Paolo
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!
  #6 (permalink)  
Antiguo 16/10/2008, 18:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Recoger el valor de un input por POST

Hola matak,

En efecto tienes que enviar el parametro, si te das una vuelta por la libraria Prototype, puedes facilmente usar la función F('tu_form') y automaticamente serializa los datos de tu form.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.