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

los campos del formulario no llegan

Estas en el tema de los campos del formulario no llegan en el foro de Frameworks JS en Foros del Web. buenas noches, por mas vueltas que le doy, nada, intento enviar un formulario mediante ajax, pero los valores del form no llegan a la pagina ...
  #1 (permalink)  
Antiguo 02/12/2008, 15:15
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 22 años, 4 meses
Puntos: 2
los campos del formulario no llegan

buenas noches,

por mas vueltas que le doy, nada, intento enviar un formulario mediante ajax, pero los valores del form no llegan a la pagina de destino, le he puesto un alert
alert(cadenaFormulario), y la cadena con los valores de los input del form está bien,

no se donde está el problema, me pueden ayudar?


<html><head><script>
function enviaFormulario(url,formid)
{
var Formulario = document.getElementById(formid);
var longitudFormulario = Formulario.elements.length;
var cadenaFormulario = "";
var sepCampos;
sepCampos = "";
for (var i=0; i <= Formulario.elements.length-1;i++)
{
cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
sepCampos="&";
}
alert(cadenaFormulario);
OajaxTpost(url,cadenaFormulario);
}

function OajaxTpost(pagina,cadenaFormulario)
{
oXML = AJAXCrearObjeto();
oXML.open('POST',pagina,true);
oXML.onreadystatechange = leerDatosTX;
oXML.send(cadenaFormulario);
}

function AJAXCrearObjeto()
{
var obj;
if(window.XMLHttpRequest)
{ // no es IE
obj = new XMLHttpRequest();
}
else
{ // Es IE o no tiene el objeto
try
{
obj = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert('El navegador utilizado no está soportado');
}
}
return obj;
}

function leerDatosTX()
{
if (oXML.readyState == 4)
{
//alert(oXML.responseText);
document.getElementById("documentos").innerHTML = oXML.responseText;
}
}

</script>
</head>
<body>

<form id="actualiza" name="actualiza" method="post" action="http://www.pagina.es/administra/intranet/conocimiento/uptipo.asp">

<input class="texinfoinput" type="text" value="1" readonly="yes" name="clave" id="clave" /><br />
<input type="text" value="documento" name="documento" id="documento" size="50" maxlength="50" /><br />
<input type="text" value="mi descripcion" name="descripcion" id="descripcion" size="50" maxlength="150" /><br />
<input type="button" name="envio" value="modifica" class="button" onclick="javascript:enviaFormulario('http://www.dominio.es/pagina.asp',this.form.id);" />
<input type="button" name="atras" value="cancelar" class="button" onclick="javascript:OajaxT('http://www.pagina.es/otrapagina.asp');" />

</form>

<div id="documentos">
</div>
<div id="loading">
</div>

</body>

gracias,
un saludo.
  #2 (permalink)  
Antiguo 02/12/2008, 16:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: los campos del formulario no llegan

Hola:

Te falta poner la cabecera Content-type... ne reuerdo cual es la que acepta ajax con el método post... algo así x-www-urlencode (eso deberías buscarlo...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 02/12/2008, 17:51
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 22 años, 4 meses
Puntos: 2
Respuesta: los campos del formulario no llegan

gracias por tu respuesta,

me ha surgido un problema,

cuando realizo el envío del form mediante ajax desde una pagina html, todo bien,

pero cuando lo hago desde una pagina asp, es decir genero el html en una pagina asp que consulta el registro en la base de datos y despues lo muestra para confirmar su eliminación, cuando voy a modificar tengo un campo mas, que por mas vueltas que le doy no está en el formulario creado,

he mostrado con Response.Write la cadena update y me sale un nuevo campo:
undefined='undefined,undefined'

pero no se lo que es, cual es el problema? de donde sale ese campo?

un saludo,
josé carlos.
  #4 (permalink)  
Antiguo 02/12/2008, 19:04
 
Fecha de Ingreso: diciembre-2008
Mensajes: 102
Antigüedad: 16 años
Puntos: 1
Respuesta: los campos del formulario no llegan

bueno amigo mio prueba dandole un nombre diferente a las variables de la url a la q vas a hacerle el open cambias de tal forma q las variables no sean iguales la verdad una ves me funciono espero q te sirva de algo
  #5 (permalink)  
Antiguo 03/12/2008, 05:08
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 22 años, 4 meses
Puntos: 2
Respuesta: los campos del formulario no llegan

no funca,
que otra solución puede haber?,
un saludo,
josé carlos
  #6 (permalink)  
Antiguo 03/12/2008, 18:05
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 22 años, 4 meses
Puntos: 2
form mediante post añade un par undefined

me ha surgido un problema,

pero cuando lo hago desde una pagina asp, es decir genero el html en una pagina asp que consulta el registro en la base de datos y despues lo muestra para confirmar su modificación, cuando voy a modificar tengo un campo mas, que por mas vueltas que le doy no está en el formulario creado,

he mostrado con Response.Write la cadena update y me sale un nuevo campo:
undefined='undefined,undefined'

esto hace que la sentencia sql sea:

update tabla set undefined='undefined,undefined', campo1=valor1 . . .
where campo=valor

he pasado el codigo html que se crea a una pagina.htm, y todo bien, ese par de nombre y valor (undefined='udefined,undefined') ya no viaja.

creo que tiene que ver con:
oXML.setRequestHeader("Content-Type", "application/x-www-form-urlencoded", "Charset=ISO-8859-1");

la he utilizado con charset y sin el, eso no puede tener nada que ver, es la codificación,

pero no se lo que es, cual es el problema? de donde sale ese campo?

un saludo,
josé carlos.
  #7 (permalink)  
Antiguo 03/12/2008, 19:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: los campos del formulario no llegan

Temas unidos, por favor no dupliques temas.
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 00:04.