Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Cambiar Action de Form

Estas en el tema de Cambiar Action de Form en el foro de Javascript en Foros del Web. Estimados, se puede cambiar el action de un formulario con javascript? tengo este formulario @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original <!DOCTYPE HTML> <head> <title>Formulario ...
  #1 (permalink)  
Antiguo 16/05/2013, 13:21
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 11 años, 10 meses
Puntos: 1
Cambiar Action de Form

Estimados, se puede cambiar el action de un formulario con javascript?

tengo este formulario

Código Javascript:
Ver original
  1. <!DOCTYPE HTML>
  2. <head>
  3. <title>Formulario Cotizacion</title>
  4. <link rel="stylesheet" type="txt/css" href="css/estilo.css" />
  5. <script type="text/javascript">
  6. function visible(){
  7.     obj = document.getElementById("ayuda");
  8.     obj.style.display = "block";
  9.  
  10. }
  11. function ocultar(){
  12.     obj = document.getElementById("ayuda");
  13.     obj.style.display = "none";
  14.  
  15. }
  16. function valor(){
  17.     var aRadios = document.getElementsByName("tipo");
  18.     var radioActivo = null;
  19.     for( var contador=0; contador < aRadios.length; contador++ ){
  20.     if( aRadios[contador].checked == true )
  21.     radioActivo = aRadios[contador].value;
  22.     }      
  23. }
  24. </script>
  25.  
  26. </head>
  27. <body>
  28. <div id="estilo" class="formulario">
  29. <form id="form" name="form" method="post">
  30.  
  31. <h4>Como cada proyecto es completamente diferente al anterior y preparamos cada solicitud de presupuesto lo mas detallada posible,
  32.     solicitamos completar todos los campos requeridos a continuacion</h4>
  33. <p>Para mas informacion de lo solicitado en el formulario ubique el mouse en el signo
  34.     <img src="imagenes/pregunta.png" width="45" height="45" class="img-pregunta" onmouseover="visible()"  onmouseout="ocultar()" /></p><br />
  35. <div id="ayuda">Los campos  deben ser llenados para una mejor atenci&oacute;n por parte de nosotros hacia nuestra clientela.</div>
  36. <div class="separador"></div>
  37. <br /><br />
  38.  
  39. <table class="tabla-form">
  40. <tr><td>Empresa</td><td><input type="text" name="empresa" required="" autocomplete="off" autofocus="" /></td></tr>
  41. <tr><td>Nombre</td><td><input type="text" name="nombre" required="" autocomplete="off" /></td></tr>
  42. <tr><td>Fono</td><td><input type="text" name="fono" required="" autocomplete="off"  /></td></tr>
  43. <tr><td>Email</td><td><input type="mail" name="email" required="" placeholder="[email protected]" /></td></tr>
  44. <div class="spacer"></div>
  45. </table>
  46. <br />
  47. <table class="tabla-form2">
  48. <tr><td><h4>Tipo de Sitio WEB Requerido</h4></td></tr>
  49. <tr><td><input type="radio" id="tipo1" name="tipo" value="1" onchange="valor()" checked="true" />Sitio Web Corporativo Est&aacute;tico</td></tr>
  50. <tr><td><input type="radio" id="tipo2" name="tipo" value="2" onchange="valor()" />Sitio Web Corporativo Administrable</td></tr>
  51. <tr><td><input type="radio" id="tipo3" name="tipo" value="3" onchange="valor()" />Cat&aacute;logo de Productos Est&aacute;ticos</td></tr>
  52. <tr><td><input type="radio" id="tipo4" name="tipo" value="4" onchange="valor()" />Cat&aacute;logo de Productos Administrable</td></tr>
  53. <tr><td><input type="radio" id="tipo5" name="tipo" value="5" onchange="valor()" />Tienda Web Administrable</td></tr>
  54. <tr><td></td></tr>
  55. <tr><td></td><td><input type="submit" value="Continuar" class="boton-gral" onclick="this.form.action='pagina1.php'" /></td></tr>
  56. </table>
  57. </div>
  58. <div class="spacer"></div>
  59. </form>
  60.  
  61. </body>
  62. </html>

si se fijan, tengo una funcion en Js que obtiene el valor del radio seleccionado, pero al parecer no me serviría de nada

espero que alguien pueda orientarme, la cosa es que, dependiendo del radio seleccionado el action del form me debería llevar a distintas páginas

radio1 = pagina1.php
radio2 = pagina2.php y asi sucesivamente ....

pensé en enviar de Js a PHP pero leí que no se podía...

Ayuda!
  #2 (permalink)  
Antiguo 16/05/2013, 13:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar Action de Form

claro que puedes, de ésta forma:

document.forms['form'].action = radioActivo;
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 16/05/2013, 13:42
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Cambiar Action de Form

si entiendo bien, quedaría algo asi?

onclick="document.forms['form'].action = radioActivo;'"

o nada que ver? en donde radioActivo tendría que tener por ejemplo como valor

pagina.php
pagin2.php

cierto?
  #4 (permalink)  
Antiguo 16/05/2013, 14:01
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar Action de Form

mas bien deberías añadir dicho fragmento en la función valor (después del ciclo) y llamar a la función desde el onclick
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 16/05/2013, 14:10
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Cambiar Action de Form

Cita:
Iniciado por maycolalvarez Ver Mensaje
mas bien deberías añadir dicho fragmento en la función valor (después del ciclo) y llamar a la función desde el onclick
mira, mi funcion quedo así!


Código Javascript:
Ver original
  1. function valor(){
  2.     var aRadios = document.getElementsByName("tipo");
  3.     var radioActivo = null;
  4.     for( var contador=0; contador < aRadios.length; contador++ ){
  5.     if( aRadios[contador].checked == true )
  6.     radioActivo = aRadios[contador].value;        
  7.     }
  8.     documents.forms['form'].action = radioActivo;
  9.            
  10. }


los valores que puede tomar serían
1.php,2.php,...hasta el 5.php pero no funciona!

tengo el onclick="valor()" en el submit!"

pero nada
  #6 (permalink)  
Antiguo 16/05/2013, 14:20
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar Action de Form

te faltó enviar el form, tienes 2 opciones:

colocar la llamada de la función valor en el onsubmit del form y usar un botón submit.

enviar el submit con js: documents.forms['form'].submit(); :

Código Javascript:
Ver original
  1. function valor(){
  2.     var aRadios = document.getElementsByName("tipo");
  3.     var radioActivo = null;
  4.     for( var contador=0; contador < aRadios.length; contador++ ){
  5.     if( aRadios[contador].checked == true )
  6.     radioActivo = aRadios[contador].value;        
  7.     }
  8.     var f = documents.forms['form'];
  9.     f.action = radioActivo;
  10.     f.submit(); //envía el form
  11.            
  12. }
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 16/05/2013, 14:25
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Cambiar Action de Form

Hey muchas gracias!!!!

sabes, me había funcionado 5 segundos antes de revisar esto

con

document.form.action = radioActivo

voy a ocupar la que mejor resulte!!! muchas gracias compañero!!!

un abrazo!!!

Etiquetas: campos, form, formulario, funcion, html, input, js, php
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 17:17.