PDA

Ver la versión completa : Problema con form action



rat
28-12-2012, 00:57
Hola,
Hace mucho que no paso por aqui, espero que la vida os vaya bien a todos.
La cuestión es que he vuelto a entrar un poco en este mundillo de la informática por el desarrollo web y tengo problemas con un script programado con html, php y javascript. Ahí va el codigo:

<form method="post" action="javascript:window.open('argazkik.php' , 'Argazkiak' , 'width=300,height=300,scrollbars=YES',resizable='N O',top='20',left='30',location='NO',menubar='NO')">
<label for="file">Ezabatu argazkiak:</label>
<input type="text" name="mierda" />
<?php karpetalista(); ?>
<input type="submit" value="Ezabatu" />
</form>
El codigo es sencillo: un formulario que al 'submitear'(lo siento pero no se decirlo de otra forma) te abre una página en una ventana nueva mediante un comando javascript. Bien, los problemas son dos. El primero, que cuando 'submiteas' a demás de abrir la nueva página redirecciona la presente a 'NO', no lo entiendo y no se como evitarlo. El segundo es que la nueva página ('argazkik.php' en este caso) no recibe la información del formulario en la variable post, $_POST["mierda"] por ejemplo.
Os agradecería que me ayudarais con este problema.
Muchas gracias y saludos.

markul
28-12-2012, 17:50
no tengo mucha experiencia con java pero a ver si te ayudo en algo o te provoco alguna iluminacion con mis desvarios XD.....he estado mirandolo y al hacer el window.open el valor lo pones como "location" y creo que en realidad es "locationbar"no se si es asi o no ,a parte igual es que tu URL necesitaria ser completa o absoluta creo que se dice(c:\dds\noseque.php)a no ser que tengas configuraciones del action ya establecidas en otro archivo.
a lo de la variable no te se decir creo que en principio te deberia mandar el valor del texto.
No se si te servira de algo O_o

hystd
28-12-2012, 22:15
¿En el action de un form meter código javascript? eso es erróneo. Si funciona, da gracias a que los navegadores son permisivos.

Debes meterlo en el evento onsubmit. Ahí si puedes meter todo el javascript que quieras. Además el código javascript tenía unos cuantos errores sintácticos debidos a las comitas '.

En el action debes poner la página o script que va a recibir los datos del formulario, en tu caso por POST:



<form method="post" action="b.php"
onsubmit="javascript:window.open('argazkik.php' ,
'Argazkiak' ,
width='300',
height='300',
scrollbars='YES',
resizable='NO',
top='20',
left='30',
menubar='NO')">
<label for="file">Ezabatu argazkiak:</label>
<input type="text" name="mierda" />
<input type="submit" value="Ezabatu" />
</form>


Y otra cosa, ese codigo javascript te lo puedes ahorrar si haces uso del atributo "target" de la etiqueta <form>.

Un saludo.