Foros del Web » Programando para Internet » Javascript »

Tener dos submit

Estas en el tema de Tener dos submit en el foro de Javascript en Foros del Web. HOla amigos como tengo un formulario que captura informacion para agregar una noticia con una imagen. Tengo un campo tipo file para enviar una imagen ...
  #1 (permalink)  
Antiguo 18/07/2005, 23:11
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 6 meses
Puntos: 21
Pregunta Tener dos submit

HOla amigos como tengo un formulario que captura informacion para agregar una noticia con una imagen. Tengo un campo tipo file para enviar una imagen y un textarea para escribir la nota.

<form name="formulario" method="POST" onSubmit="return validator(this)" action="noticia.php"
<input type="file" name="archivo" type="file" size="30">
<textarea name="txcontenido" cols="56" rows="6" wrap="hard"></textarea>

<input type="submit" name="Submit" value="Enviar" >
</form>

tengo este script para abrir un popup centrado
function NewWindow(mypage, myname, w, h, scroll, size, sta)
{
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl +',scrollbars='+scroll+',resizable='+size+',status ='+sta+''
win = window.open(mypage, myname, winprops)
}

Lo invoco de esta manera
<input type="button" name="antes" value="Vista previa" onclick="NewWindow('plantilla_new.php','previo','6 50','500','yes','yes','no')">

mi pregunta como puedo hacer otro submit a un popup usando el script que tengo por medio de post. Esto es para ver una vista previa de como quedaria antes de guardar.

Saludos esperos sus
comentarios,gracias
__________________
gerardo
  #2 (permalink)  
Antiguo 19/07/2005, 01:28
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Hola chalchis:

En las FAQs puedes buscar como enviar un formulario a un popup:

Básicamente se trata de abrir la ventana antes, y darle el nombre que le pongas al target del formulario...

Para tu caso, puedes asociar el evento onclick de los botones submit para saber si es el boton de vista previa o no, y en base a ese dato abrir o no el popup

<form onsubmit="chequear(this)" >
<input type=submit onclick="vistaPrevia = true" value="vista previa" />
<input type=submit onclick="vistaPrevia = false" value="enviar" />
...
</form>

y la función chequear:
function chequear(formulario) {
if (vistaPrevia) {
formulario.target = "popup";
formulario.action ="vistaPrevia.php"
window.open("", "popup", opciones_de_popup)
}
else
{
formulario.action ="envio.php"
}
}

Espero que te sirva.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/07/2005, 02:17
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años, 9 meses
Puntos: 0
puedes hacer un botón normal, y con un evento onClick llamas a una función definida por ti

luego en esa función haz lo que deseas, y al final ejecutas el submit document.nombre_del_formulario.submit();

espero haberte ayudado

aK
  #4 (permalink)  
Antiguo 19/07/2005, 09:12
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 6 meses
Puntos: 21
Intento hacer esto

Hola amigos gracias por responder deacuerdo a los que han posteado quise hacer algo haci

este es mi formulario
<form name="formulario" method="POST" onSubmit="return validator(this)" enctype="multipart/form-data">
<tr>
<td>
<div style="width:100%; overflow:auto;height:343px;">
<table width="397" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="181" class="texformsadmin">Encabezado:</td>
</tr>
<tr>
<td ><input type="text" name="txtitulo" size="59" maxlength="30" class="campoformularios"></td>
</tr>

<tr>
<td class="texformsadmin">Imagen:</td>
</tr>
<tr>
<td class="texformsadmin">
<input type="file" name="archivo" size="30" value="">
</td>
</tr>
<tr>
<td class="texformsadmin">Contenido de la noticia:</td>
</tr>
<tr>
<td>
<div align="left">
<textarea name="txcontenido" cols="56" rows="6" wrap="hard" class="selectx"></textarea>
</div></td>
</tr>
<tr>
<td>

</td>
</tr>
<tr>
<td>

</td>
</tr>
<tr>
<td class="texformsadmin">&nbsp;
</td>
</tr>
<tr>
<td class="texformsadmin">&nbsp;
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td colspan="3" bgcolor="#0000FF" height="1"></td>
</tr>
<tr>
<td ><div align="right">
<input type="button" name="antes" value="Vista previa" onClick="llama(2)" >&nbsp;
<input type="button" name="Submit" value="Enviar" onClick="llama(1)" >&nbsp;
<input type="button" name="exit" value="Cancelar" class="Buttonforms" onclick="closeventana()">
</div></td>
</tr>
</form>

<SCRIPT LANGUAGE="JavaScript">
function NewWindow(mypage, myname, w, h, scroll, size, sta)
{
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl +',scrollbars='+scroll+',resizable='+size+',status ='+sta+''
win = window.open(mypage, myname, winprops)
}

function llama(x)
{
//Almacenar
if (x == "1")
{
var pa = "form.php";
window.document.forms.formulario.action= pa;
document.forms.formulario.submit();
}
else
{

window.document.forms.formulario.action = window.open('vista.php','previo','650','500','yes' ,'yes','no');
document.forms.formulario.submit();
}
}

</script>

al dar enviar en formulario se envia bien el problema sigue al enviar al popup

le doy clic en el boton de "vista previa" y se abre el popup pero el formulario hace submit, deberia hacerlo pero al popup??
__________________
gerardo
  #5 (permalink)  
Antiguo 19/07/2005, 10:11
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 6 meses
Puntos: 21
Hola amigos ya tengo la solucion

function cForm(form){
var winl = (screen.width - 650) / 2;
var wint = (screen.height - 500) / 2;
winprops = 'height=500,width=650,top='+wint+',left='+winl+',s crollbars=yes,resizable=yes,status=yes'
win = window.open("", "myWin", winprops)


form.target='myWin';
form.action='vista.php'
}

<form>

<input type="Submit" name="antes" value="Vista previa" onclick="cForm(this.form)" >&nbsp;
<input type="Submit" name="Submit" value="Enviar" onclick="this.form.target=''">&nbsp;
</form>
__________________
gerardo
  #6 (permalink)  
Antiguo 19/07/2005, 10:21
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 6 meses
Puntos: 21
Corrijo esto

En el boton de vista previa es un submit el detalle es que tiene que pasar por el evento onsubmit() para evitar la validacion de campos

solo cambien esto:

el boton de vista previa lo cambie a tipo "button"
y en la funcion agrego

form.target='myWin';
form.action='vista.php'
form.submit();//esta linea es la que agregue

saludos
__________________
gerardo
  #7 (permalink)  
Antiguo 21/07/2005, 10:44
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 6 meses
Puntos: 21
Pregunta UN problema

al parecer pense que habia quedado esto
resulta que si le doy vista previa me manda el post al popup
y cuando cierro el popup y ya mando el submit para guadar el submit no se va al pagina indica si no que me carga el popup otra vez

que pasara??

espero sus saludos, gracias
__________________
gerardo
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:33.