Foros del Web » Programando para Internet » Javascript »

Como envio el formulario??

Estas en el tema de Como envio el formulario?? en el foro de Javascript en Foros del Web. Hola: Tengo un problema, y es que no sé como enviar los datos de mi formulario a otro fichero para que se realice una actualizacion ...
  #1 (permalink)  
Antiguo 19/03/2008, 16:56
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 1
Exclamación Como envio el formulario??

Hola: Tengo un problema, y es que no sé como enviar los datos de mi formulario a otro fichero para que se realice una actualizacion en la BD.
Me explico:
Tengo un formulario en mi pg web declarado asi:
<form id="form1" name="form1" method="post" action
<tr>
<td>nombre </td>
<td><input type="text" name="nombre" id="nombre" value="<?php echo $resultado1['n1'];?>" onblur="pasar('pagina.php',this.id,this.value,docu ment.getElementById('titulo').value)"></td>
</tr>
<tr>
<td>nombre2 </td>
<td><input type="text" name="nombre2" id="nombre2" value="<?php echo $resultado1['n2];?>" onblur="pasar('pagina.php',this.id,this.value,docu ment.getElementById('titulo').value)"></td>
</tr>


Lo que estoy intentando hacer es que con el evento "onblur" se mande el valor que se ha escrito en ese input a la página "pagina.php" para que se realice la actuallizacion.
Es decir que mando el id, el valor y tambien otro valor de un campo oculto que necesito( que es el que se llama titulo)
Luego en JavaScript la funcion "pasar " es de la forma:


function pasar(v1,v2,v3)
{
document.location='../../script/modificarpublicaciones.php?eti='+v1+'&nuevo_valor= '+v2 +'&ocul='+ v3;
}

y en el fichero pagina.php obtengo los valores: $_POST['eti']
Bien, pues no quiero hacerlo así y estoy intentando enviarlo a traves del formulario, es decir que la funcion "pasar " sea algo asi:

function pasar(v1,v2,v3,v4)
{
var MyForm = document.form1;
MyForm.action=v1;
MyForm.id ="eti";
MyForm.id.value=v2;
MyForm.id1 ="nuevo_valor";
MyForm.id1.value=v3;
MyForm.id2 ="ocul";
MyForm.id2.value=v4;
MyForm.method="post";
MyForm.submit();

},
pero he puesto alert y he viso que los valores son "undefined"
¿ALguien me puede decir como puedo enviar los datos a través el formulario ?
Sé enviarlo a través de un formualrio normal, es decir cuando se pone el onsubmit en un boton y se envia el formulario, pero no en este caso, q quiero ya que en este caso se enviarán con el evento onblur
Gracias!!
  #2 (permalink)  
Antiguo 19/03/2008, 17:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Como envio el formulario??

Trasladado a JavaScript.
  #3 (permalink)  
Antiguo 19/03/2008, 17:33
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Como envio el formulario??

Hola:

La manipulación de los formularios hay que "tratarlos con pinzas"... hay atributos que dan problemas según el navegador que uses, así que te recomiendo que lo uses de forma normal.

Si quieres modificar atributos te recomiendo usar setAttribute, y lo que hay detrás de los puntos, debes considerar que pueden ser tanto atributos del propio formulario, como los controles asociados.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 19/03/2008, 18:40
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Como envio el formulario??

Gracias Caricatos una vez más por contestar!!!
Un saludo!!
  #5 (permalink)  
Antiguo 20/03/2008, 01:40
 
Fecha de Ingreso: marzo-2008
Mensajes: 342
Antigüedad: 16 años, 1 mes
Puntos: 4
Re: Como envio el formulario??

Cita:
Iniciado por Carol_84 Ver Mensaje
Hola: Tengo un problema, y es que no sé como enviar los datos de mi formulario a otro fichero para que se realice una actualizacion en la BD.
Me explico:
Tengo un formulario en mi pg web declarado asi:
<form id="form1" name="form1" method="post" action
<tr>
<td>nombre </td>
<td><input type="text" name="nombre" id="nombre" value="<?php echo $resultado1['n1'];?>" onblur="pasar('pagina.php',this.id,this.value,docu ment.getElementById('titulo').value)"></td>
</tr>
<tr>
<td>nombre2 </td>
<td><input type="text" name="nombre2" id="nombre2" value="<?php echo $resultado1['n2];?>" onblur="pasar('pagina.php',this.id,this.value,docu ment.getElementById('titulo').value)"></td>
</tr>


Lo que estoy intentando hacer es que con el evento "onblur" se mande el valor que se ha escrito en ese input a la página "pagina.php" para que se realice la actuallizacion.
Es decir que mando el id, el valor y tambien otro valor de un campo oculto que necesito( que es el que se llama titulo)
Luego en JavaScript la funcion "pasar " es de la forma:


function pasar(v1,v2,v3)
{
document.location='../../script/modificarpublicaciones.php?eti='+v1+'&nuevo_valor= '+v2 +'&ocul='+ v3;
}

y en el fichero pagina.php obtengo los valores: $_POST['eti']
Bien, pues no quiero hacerlo así y estoy intentando enviarlo a traves del formulario, es decir que la funcion "pasar " sea algo asi:

function pasar(v1,v2,v3,v4)
{
var MyForm = document.form1;
MyForm.action=v1;
MyForm.id ="eti";
MyForm.id.value=v2;
MyForm.id1 ="nuevo_valor";
MyForm.id1.value=v3;
MyForm.id2 ="ocul";
MyForm.id2.value=v4;
MyForm.method="post";
MyForm.submit();

},
pero he puesto alert y he viso que los valores son "undefined"
¿ALguien me puede decir como puedo enviar los datos a través el formulario ?
Sé enviarlo a través de un formualrio normal, es decir cuando se pone el onsubmit en un boton y se envia el formulario, pero no en este caso, q quiero ya que en este caso se enviarán con el evento onblur
Gracias!!
Intenta asi
function pasar(v1,v2,v3)
{
form1.document.action ='../../script/modificarpublicaciones.php?eti='+v1+'&nuevo_valor= '+v2 +'&ocul='+ v3'';
form1.document.submit()
}
asi te llagara los valores eti, nuevio_valor y ocul por $HTTP_POST_VARS
y también recibirás los valores de fomulario por $_POST as $nombre_campo => $valor

Un Saludo
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 22:51.