#1• Como puedo llamar una funcion desde el action del formulario?? le pongo el nombre de la funcion, pero no hace nada, solo me refresca la misma pagina. |
#2• Déjame ver las dos funciones que quieres usar en el submit a ver cuál puede ser la forma más eficaz |
#3• La que utilizo en onsubmit es esta, con ella no tengo problemas ya: |
#4• y cual seria la idea de que se ejecute en el action, |
#5• Así a ojo lo más sencillo que puedes hacer es esto; Codigo: function VALIDA_OTROS(F) { if (document.getElementById('U_NumReg').value == false) { BU1=false } else { BU1=true; Asignar_Valor('U_NumReg','H_U_NumReg'); } if (document.getElementById('U_Nombre').value == false) { BU2=false } else { BU2=true; Asignar_Valor('U_Nombre','H_U_Nombre'); } if (document.getElementById('U_Tipo').value == false) { BU3=false } else { BU3=true; Asignar_Valor('U_Tipo','H_U_Tipo'); } if (document.getElementById('U_Cubi').value == false) { BU4=false } else { BU4=true; Asignar_Valor('U_Cubi','H_U_Cubi'); } if (document.getElementById('U_Jefe_G').value == false) { BU5=false } else { BU5=true; Asignar_Valor('U_Jefe_G','H_U_Jefe_G'); } if (document.getElementById('U_Tel').value == false) { BU6=false } else { BU6=true; Asignar_Valor('U_Tel','H_U_Tel'); } if (document.getElementById('U_Mail').value == false) { BU7=false } else { BU7=true; Asignar_Valor('U_Mail','H_U_Mail'); } document.getElementById('From_OTROS').value= true document.getElementById('From_MONO').value = false document.getElementById('From_REVIS').value = false if ( (F.Congreso.value) == false ) { B1=false } else { B1=true } if ( (F.Autor.value) == false ) { B2=false } else { B2=true } if ( (F.Tit_Cap.value) == false ) { B3=false } else { B3=true } if ( (F.L_Public.value) == false ) { B4=false } else { B4=true } if ( (F.Editorial.value) == false ) { B5=false } else { B5=true } if ( (F.Año.value) == false ) { B6=false } else { B6=true } if ( (F.Volumen.value) == false ) { B7=false } else { B7=true } if ( (F.Numero.value) == false ) { B8=false } else { B8=true } if ( (F.Paginas.value) == false ) { B9=false } else { B9=true } if ( (F.ISBN.value) == false ) { B10=false } else { B10=true } if ( (F.Lugar.value) == false ) { B11=false } else { B11=true } if ( (F.Fecha.value) == false ) { B12=false } else { B12=true } if (B1 & B2 & B3 & B4 & B5 & B6 & B7 & B8 & B9 & B10 & B11 & B12 & BU1 & BU2 & BU3 & BU4 & BU5 & BU6 & BU7) { alert ("todos llenos" ventana = window.open(pagina, "", "toolbar=no, location=no, directories=no, status=yes,menubar=no, scrollbars=yes,resizable=yes, width=550,height=20" return true; } else{ alert ("al menos un campo vacio" return false; } } </SCRIPT> ...y al tag de form agrégale un target a esa ventana <FORM name=F_Otros onsubmit= "return VALIDA_OTROS(this);" action= "Confirmacion_Datos.php" method=post target="ventana"> Creo que así te debería de funcionar ok (la segunda función no hace falta que la pongas pues se incluye dentro de la primera) por cierto, te sugiero le pongas las comillas dobles a los valores de los atributos. un saludo |
#6• hum... no me deja editar mi mensaje, cuidado que hay algo que debes cambiar en la línea que se agrega a la función |
#7• Qué pesaditos son los caretos |
#8• ok, mi pregunta ahora es para que es el target? Segun yo, me ignora el action del formulario o no?? y ademas, se supone que los datos de la primer pagina los estaba pasando a la segunda, y al abrirla normalmente (de tamaño grande) si los imprimia con PHP, pero ahora, aunque ya me abre la ventana pequeña, no puedo imprimir los valores de los campos de la pagina de la que vengo. <body><?php echo "IMPRIME ESTO!!!!"; if ($From_OTROS == true) { echo "Otros True"; echo "<p> $H_U_NumReg </p>"; echo "<p> $H_U_Nombre </p>"; echo "<p> $H_U_Tipo </p>"; echo "<p> $H_U_Cubi </p>"; echo "<p> $H_U_Jefe_G </p>"; echo "<p> $H_U_Tel </p>"; echo "<p> $H_U_Mail </p>"; } else { if ($From_MONO == true) { echo "MONOGRAFIAS True"; echo "<p> $H_U_NumReg2 </p>"; echo "<p> $H_U_Nombre2 </p>"; echo "<p> $H_U_Tipo2 </p>"; echo "<p> $H_U_Cubi2 </p>"; echo "<p> $H_U_Jefe_G2 </p>"; echo "<p> $H_U_Tel2 </p>"; echo "<p> $H_U_Mail2 </p>"; } else { if ($From_REVIS == true) { echo "REVISTAS True"; echo "<p> $H_U_NumReg3 </p>"; echo "<p> $H_U_Nombre3 </p>"; echo "<p> $H_U_Tipo3 </p>"; echo "<p> $H_U_Cubi3 </p>"; echo "<p> $H_U_Jefe_G3 </p>"; echo "<p> $H_U_Tel3 </p>"; echo "<p> $H_U_Mail3 </p>"; } } } echo $Congreso; ?> De hecho el php si lo acepta porque el primer echo si lo hace! |
#9• ¿Qué es lo que quieres que te cargue en la ventana popup? |
#10• OK, lo que quiero que se cargue, son los valores de los campos que tengo en dos formularios dentro de la pagina1. Ponerlos en la pagina, en forma de tabla o algo asi, solo poner los valores como: |
#11• Ya se, creo q asi es mas sencillo y directo: |
#12• ...dime si lo que pretendes hacer es esto: |
#13• si, exactamente, los recibo en una pagina, los mano a un popup para que el usuario verifique si son correctos, si no, se cierra esa y los corrige en la original, si si son correctos entonces los escribe en un archivo. |
#14• ok, suponiendo que lo haya entendido correctamente te cuento que se puede hacer de una forma menos laboriosa y con menos código y un sólo formulario. Codigo: <!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"> <head> <title>Formulario</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript"> <!-- var formu function validaCampos(f){ mensaje = "por favor rellene todos los campos" if(f.Nombre.value == ""){ alert(mensaje) return false } if(f.Apellido.value == ""){ alert(mensaje) return false } if(f.Email.value == ""){ alert(mensaje) return false } formu = f ventana = window.open('','ventana','width= 400, height=400') } function enviaForm(){ formu.action = "javascript:alert('me envío!')" formu.target = "_self" formu.submit() } //--> </script> </head> <body> <form name="form1" id="form1" method="post" action="kssaformconfirma.php" target="ventana" onsubmit="return validaCampos(this)"> Nombre <input name="Nombre" type="text" id="Nombre" /> <br /> Apellido <input name="Apellido" type="text" id="Apellido" /> <br /> <input name="Email" type="text" id="Email" /> <br /> <input type="submit" value="Enviar" /> </form> </body> </html> Página2 (kssaformconfirma.php) confirma los datos Codigo: <!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"> <head> <title>Confirmar datos</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <strong>Por favor, confirme si los datos son correctos</strong> <p> <?php foreach($_POST as $nombre => $valor){ echo $nombre.": ".$valor."<br />"; } ?> </p> <p> <input type="button" value="Son correctos. Enviar" onclick="opener.enviaForm(); self.close()" /> <input type="button" value="Hacer cambios. Cancelar" onclick="self.close()" /> </p> </body> </html> El sistema es el siguiente: Hay un sólo form que lleva una acción inicial que envía a la página de confirmación y un target a la ventana popup. Al submitir el formulario llama a una función js que verifica que estén todos los campos rellenos y en caso afirmativo lanza el form en la ventana popup a la página de confirmación (mediante submit). En la popup muestra los datos con dos botones: aceptar y cancelar. Cancelar cierra la popup sin hacer nada Aceptar llama a otra función que está en la página con el formulario. Esta función se encarga de cambiar la acción y el target del formulario y acto seguido lo envía (dentro de la propia ventana del form) En el ejemplo cambia la acción por un alert js para que veas el comportamiento, obviamente habrás de cambiar ese valor por el de la página a donde deba enviarse definitivamente el formulario. me refiero a esta línea formu.action = "javascript:alert('me envío!')" deberás cambiarla por algo tipo ... formu.action = "paginadefinitiva.php" Yá me contarás Un saludo :c) |
#15• Escrito originalmente por tunait Yá me contarás ...pues no, parece que no me cuenta nada, ni si fue bien ni si fue mal |
#16• Escrito originalmente por tunait Escrito originalmente por tunait Yá me contarás ...pues no, parece que no me cuenta nada, ni si fue bien ni si fue mal ja, ja tunait que estos no son los fdw De interés Público
NO AGREGARME COMO AMIGO, gracias Asuntos claros en los temas Consultas en temas no afines serán borradas Tratemos de expresarnos bien, que así da gusto leer |
#17• Escrito originalmente por gaf ja, ja tunait que estos no son los fdw jeje ... no creas, Gaf, que allá pasa exactamente lo mismo |
#18• Hola!! lo siento pero ya no tuve internet en estos dias!! y gracias si me sirvio bastante!!! Thank's!!!! |
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un nuevo tema en lugar de responder al actual |
Opciones: Ir al subforo: |
Permisos: TU NO PUEDES Escribir nuevos temas TU NO PUEDES Responder a los temas TU NO PUEDES Editar tus propios mensajes TU NO PUEDES Borrar tus propios mensajes |
Temas similares | ||||
Tema | Usuarios | Respuestas | Visitas | Actividad |
---|---|---|---|---|
Por: Yoshi_AFCL, el 07/Abr/2006, 21:53 | 1 | 3k | Apr/06 | |
Por: naranjametallic, el 10/Abr/2004, 23:56 | 0 | 2k | Apr/04 |