Foros del Web » Programando para Internet » Javascript »

un formulario y dos botones

Estas en el tema de un formulario y dos botones en el foro de Javascript en Foros del Web. Hola Necesito hacer una cosa Resulta que tengo un formulario <form id="form1" name="form1" method="post" action="ok.php"> <form id="form2" name="form2" method="get" action="ok2.php"> campos+campos+campos <input type="submit" name="button1" id="button" ...
  #1 (permalink)  
Antiguo 26/09/2008, 11:08
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 6 meses
Puntos: 6
un formulario y dos botones

Hola
Necesito hacer una cosa


Resulta que tengo un formulario

<form id="form1" name="form1" method="post" action="ok.php">
<form id="form2" name="form2" method="get" action="ok2.php">
campos+campos+campos
<input type="submit" name="button1" id="button" value="enviar1" />
<input type="submit" name="button2" id="button" value="enviar2" />

lo que necesito es que si el visitante presiona el "enviar2" el form se envie a ok2.php y la visita pìncha en "enviar1" se envie a la pagina ok2.php

alguna sujerencia?

Gracias a todos.
  #2 (permalink)  
Antiguo 26/09/2008, 11:11
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Respuesta: un formulario y dos botones

Hola suntus

Código:
<input type="submit" name="button1" id="button" value="enviar1" onclick = "this.form.submit='ok2.php'" />
Utiliza un sólo formulario, no se puede poner un formulario dentro de otro.

Saludos,
  #3 (permalink)  
Antiguo 26/09/2008, 11:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Respuesta: un formulario y dos botones

Una alternativa a usar Javascript (sí, ya sé que estoy en el foro de Javascript, pero bueno ) sería dar el mismo nombre a los dos input submit y enviar a un único PHP que se encargará de diferenciar con cuál de los botones se envió (através del value que también será enviado) y hacer las acciones correspondientes.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 01/10/2008, 05:12
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: un formulario y dos botones

Cita:
Iniciado por JavierB Ver Mensaje
Hola suntus

Código:
<input type="submit" name="button1" id="button" value="enviar1" onclick = "this.form.submit='ok2.php'" />
Utiliza un sólo formulario, no se puede poner un formulario dentro de otro.

Saludos,
pues lo que hace es enviar el form principal

<form action="1.php" method="get">

<input name="enviar1" type="submit">
<input name="enviar2" type="submit" onclick = "this.form.submit='2.php'">

</form>

le des al boton que le des se va a '1.php'
  #5 (permalink)  
Antiguo 01/10/2008, 05:26
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Respuesta: un formulario y dos botones

Mil perdones suntus, me he despistado con el código:

Código:
onclick = "this.form.action='2.php'"
Espero que ahora sí te funcione. Saludos,
  #6 (permalink)  
Antiguo 01/10/2008, 05:35
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: un formulario y dos botones

Cita:
Iniciado por JavierB Ver Mensaje
Mil perdones suntus, me he despistado con el código:

Código:
onclick = "this.form.action='2.php'"
Espero que ahora sí te funcione. Saludos,
si javierB concretamente lo puse asi onclick=this.form.action="2.php", y se envia perfectamente, pero ahora tengo otro problema, resulta que el formulario tiene validacion con javascript y al hacer submit con cualquiera de estos botones revisa los campos.

lo que quiero es que este boton no active la validacion de campos, mi idea es desde el onclick cambiar tambien el id del formulario, con esto quedaria todo perfecto, algo asi

onclick=this.form.id="noValidacion";this.form.acti on="1.php"

no hace falta decir que esto no me funciona pero la idea es clara y como soy un poco cateto con javascritp no doy con la solucion.

y ya lo ideal para rematar la faena es que me ilumines tambien como puedo hacer que este envio se realice en ventana nueva tipo popup

gracias por tu ayuda
  #7 (permalink)  
Antiguo 01/10/2008, 07:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Respuesta: un formulario y dos botones

No es necesario que cambies el id, supongo que la validación la tienes en el evento onsubmit, entonces solo elimina la función que se ejecuta en ese evento:
Código javascript:
Ver original
  1. document.formulario.onsubmit = null;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 01/10/2008, 07:38
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: un formulario y dos botones

Cita:
Iniciado por David el Grande Ver Mensaje
No es necesario que cambies el id, supongo que la validación la tienes en el evento onsubmit, entonces solo elimina la función que se ejecuta en ese evento:
Código javascript:
Ver original
  1. document.formulario.onsubmit = null;
estoy usando para validar jquery.validate.js

$().ready(function() {
// validate the comment form when it is submitted
$("#commentForm").validate();

// validate signup form on keyup and submit
$("#signupForm").validate({


});

no se como utilizar lo que me comentas.
se me atraganta el js que no veas uff!!
no hay forma de cambiar el id? tal y como se cambia el action?
  #9 (permalink)  
Antiguo 01/10/2008, 07:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Respuesta: un formulario y dos botones

¿Trataste de ponerlo así?:
Código javascript:
Ver original
  1. onclick=this.form.id="noValidacion";this.form.action="1.php"
Porque mejor no pruebas así:
Código javascript:
Ver original
  1. onclick="this.form.id='noValidacion';this.form.action='1.php'"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 01/10/2008, 08:24
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: un formulario y dos botones

Cita:
Iniciado por David el Grande Ver Mensaje
¿Trataste de ponerlo así?:
Código javascript:
Ver original
  1. onclick=this.form.id="noValidacion";this.form.action="1.php"
Porque mejor no pruebas así:
Código javascript:
Ver original
  1. onclick="this.form.id='noValidacion';this.form.action='1.php'"
hola David
gracias por tu interes

esas dos opciones las he utilizado y el action va de lujo pero de las dos formas, pero el id parece que no cambia,

si voy a formulario y cambio a mano el id la validacion se desactiva, por ese pense que si podia hacer lo mismo con el id que con el action, pues resuelto quedaba, pero no hay manera de que me cambie el id del form, ya te digo .. el action cambia sin problemas
  #11 (permalink)  
Antiguo 01/10/2008, 08:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Pregunta Respuesta: un formulario y dos botones

¿Por qué no colocas una condicional para ver si el action del form es "1.php" que no ejecute la validación del jQuery?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 01/10/2008, 08:39
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 6 meses
Puntos: 6
Respuesta: un formulario y dos botones

Cita:
Iniciado por David el Grande Ver Mensaje
¿Por qué no colocas una condicional para ver si el action del form es "1.php" que no ejecute la validación del jQuery?
buena idea, este el javascript que tengo que anular


<script type="text/javascript">
if (value.action=='1.php'){ // tu idea


$().ready(function() {
// validate the comment form when it is submitted
$("#commentForm").validate();

// validate signup form on keyup and submit
$("#signupForm").validate({


});

//code to hide topic selection, disable for demo
var newsletter = $("#newsletter");
// newsletter topics are optional, hide at first
var inital = newsletter.is(":checked");
var topics = $("#newsletter_topics")[inital ? "removeClass" : "addClass"]("gray");
var topicInputs = topics.find("input").attr("disabled", !inital);
// show when newsletter is checked
newsletter.click(function() {
topics[this.checked ? "removeClass" : "addClass"]("gray");
topicInputs.attr("disabled", !this.checked);
});
});


} // cierro el if
</script>

te refieres a hacer algo asi?

la sintasis es correcta?

saludos.
  #13 (permalink)  
Antiguo 01/10/2008, 08:56
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Respuesta: un formulario y dos botones

Hola suntus

No hace falta que cites el mensaje para contestar.

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 21:39.