Foros del Web » Programando para Internet » Javascript »

cerrar ventana window.close()???

Estas en el tema de cerrar ventana window.close()??? en el foro de Javascript en Foros del Web. hola,hace un hora que estoy tratando de hacer que una ventana se cierre al aceptar un if confirm...este es el script que estoy utilizando: <script> ...
  #1 (permalink)  
Antiguo 21/03/2011, 07:26
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
cerrar ventana window.close()???

hola,hace un hora que estoy tratando de hacer que una ventana se cierre al aceptar un if confirm...este es el script que estoy utilizando:


<script>
function confirmar2()
{
if(confirm('¿Esta seguro de terminar la atención?'))
{
window.close()
}
else
{
return false;
}
}
</script>

la ventana que quero cerrar es la misma desde donde lanso el script...espero me puedan ayudar...dede ya muchas gracias
  #2 (permalink)  
Antiguo 21/03/2011, 07:39
Avatar de ArkangelGammar  
Fecha de Ingreso: enero-2011
Ubicación: <?php $persona->ubicacion('ArkangelGammar'); ?>
Mensajes: 179
Antigüedad: 13 años, 4 meses
Puntos: 19
Respuesta: cerrar ventana window.close()???

Buenas, antes que nada, yo no le pondria el else y dejaria solo el windows.close(), asi:

Código PHP:
<script>
funcion confirmar2(){
    if(
confirm('Esta seguro de terminar la atencion?')){
            
window.close()
    }
}
</script> 
Segundo, podrias poner el codigo completo, o por lo menos la llamada a la funcion confirmar2, ya que el error puede estar ahi tambien.

Espero tu respuesta.

Saludos
__________________
"No entiendes algo al menos que seas capaz de explicarselo a tu abuela.
Cada dia sabemos mas....y entendemos menos...."

A. Einstein - Genio mas alla de la razon.
  #3 (permalink)  
Antiguo 21/03/2011, 07:41
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: cerrar ventana window.close()???

Código:
<html>
<head>
<title>Sistema de Atenciones</title>
<h1 align="center">Bienvenido al sistema de atenciones</h1>
<body onload="asignaVariables();">
<div align="right">
<a href="javascript:Abrir_ventana('final.php')" onClick="confirmar2()"><font size="1" face="Verdana"><img src="img/termino.png" width="174" height="38"></a>
</div>
<script type="text/javascript" src="buscar.js"></script>
<link rel="stylesheet" type="text/css" href="buscar.css">
<script language="JavaScript">
function Abrir_ventana (pagina) {
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, width=508, height=300, top=85, left=140, Text-align=left";
window.open(pagina,"",opciones);
}
</script>
<script type="text/javascript">
function formReset()
{
document.getElementById("form1").reset();
}
</script>
<?php
require("clases/conexion.class.php");
$res=mysql_query("select * from empresas inner join comunas on
empresas.com_cod=comunas.com_cod");

if(mysql_num_rows($res) > 0){
  while($row=mysql_fetch_object($res)){
  ?><form method="get">
  <input type="hidden" name="HID_codigo_<?php echo $row->emp_nom; ?>" id="HID_codigo_<?php echo $row->emp_nom; ?>" value="<?php echo $row->emp_cod; ?>" />
  <input type="hidden" name="HID_mail_<?php echo $row->emp_nom; ?>" id="HID_mail_<?php echo $row->emp_nom; ?>" value="<?php echo $row->emp_mail; ?>" />
  <input type="hidden" name="HID_rut_<?php echo $row->emp_nom; ?>" id="HID_rut_<?php echo $row->emp_nom; ?>" value="<?php echo $row->emp_rut; ?>" />
  <input type="hidden" name="HID_fono_<?php echo $row->emp_nom; ?>" id="HID_fono_<?php echo $row->emp_nom; ?>" value="<?php echo $row->emp_fono; ?>" />
  <input type="hidden" name="HID_comuna_<?php echo $row->emp_nom; ?>" id="HID_comuna_<?php echo $row->emp_nom; ?>" value="<?php echo $row->com_nom; ?>" />
  </form>
  <?php 
  }
}
?>

<script type="text/javascript">
function valida(){
    
	var nombre = document.getElementById('input_2').value;
    var codigo = document.getElementById('HID_codigo_'+nombre).value;
	var mail = document.getElementById('HID_mail_'+nombre).value;
	var rut = document.getElementById('HID_rut_'+nombre).value;
	var fono = document.getElementById('HID_fono_'+nombre).value;
	var comuna = document.getElementById('HID_comuna_'+nombre).value;
	
	
if(mail != null || mail != '' || rut != null || rut!='' || fono != null || fono != '' || comuna != null || comuna != ''|| codigo != null || codigo != ''){
        
        document.getElementById("contenedor5").innerHTML = '<table style="position:absolute;top:220px;left:220px;"><td>Código<input type="text" name="mail" id="id" value="'+codigo+'" /></td></tr></table>';
		document.getElementById("contenedor").innerHTML = '<table style="position:absolute;top:220px;left:390px;"><td>E-Mail<input type="text" name="mail" id="mail" value="'+mail+'"</td></table>';
		document.getElementById("contenedor2").innerHTML = '<table style="position:absolute;top:220px;left:560px;"><td>Rut<input type="text" name="rut" id="rut" value="'+rut+'" /></td></table>';
		document.getElementById("contenedor3").innerHTML = '<table style="position:absolute;top:220px;left:730px;"><td>Fono<input type="text" name="mail" id="mail" value="'+fono+'" /></td></tr></table>';
        document.getElementById("contenedor4").innerHTML = '<table style="position:absolute;top:220px;left:900px;"><td>Comuna<input type="text" name="mail" id="mail" value="'+comuna+'" /></td></tr></table>';
		
	
    }else{
                alert('no hay resultados');
        return false;
    }
}
</script>
<script type="text/javascript">
setActiveStyleSheet(document.getElementById("defaultTheme"), "Aqua");
</script>
<script type="text/javascript">
function formReset()
{
document.getElementById("form1").reset();
}
</script>

<script>
function confirmar2()
{
	if(confirm('¿Esta seguro de terminar la atención?'))
	{
        window.close()	
	}
	else
	{
		return false;
	}	
}
</script>


<h4 align="center">Ingrese el Nombre de la Empresa</h4>
<table align="center"><td><div id="demo">
<input type="text" id="input_2" class="input" onkeypress="return valida()"
    onfocus="if(document.getElementById('lista').childNodes[0]!=null && this.value!='') 
    { filtraLista(this.value); formateaLista(this.value); 
    reiniciaSeleccion(); document.getElementById('lista').style.display='block'; }" 
    onblur="if(v==1) document.getElementById('lista').style.display='none';" 
    onkeyup="if(navegaTeclado(event)==1) {
    clearTimeout(ultimoIdentificador); 
    ultimoIdentificador=setTimeout('rellenaLista()', 1000); }" size="25">
	</div>
<div id="lista" onmouseout="v=1;" onmouseover="v=0;"></div>
</div>	


<tr><td><input type="button" name="boton" value="ok" onclick="return valida();" /></td></tr></table>
<td>
<div id="contenedor"   name="contenedor"></div>
<div id="contenedor2"  name="contenedor"></div>
<div id="contenedor3"  name="contenedor"></div>
<div id="contenedor4"  name="contenedor"></div>
<div id="contenedor5"  name="contenedor"></div>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<table border="1" align="center">
<tr>
<td align="center">Estado Atención</td>
</tr>
<tr>
<tr><td align="center">    Pendiente<input type="radio" name="estado" value="pendiente">    Solucionado<input type="radio" name="estado" value="solucionado">    Solicita Terreno<input type="radio" name="estado" value="sterreno"><br><br><br></td>
</tr>
<tr>
<td align="center">Observaciones<textarea class="estilo" align="center" name="descripcion" size="500"></textarea><input type="submit" name="btnguardar" value="Guardar"></td>
</tr>
</table>
</form>
</body>
</html>
aqui está todo el código,en negrita te dejé la llamada a la función...muchas gracias por tu atención :D
  #4 (permalink)  
Antiguo 21/03/2011, 07:45
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: cerrar ventana window.close()???

les recuerdo que este es el foro de PHP.

tienes errores de sintaxis en javascript, revisa que te faltan algunas ";", y trata de ordenar el código, por lo general el código Javascritp puede ir dentro del head
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 21/03/2011, 07:49
Avatar de ArkangelGammar  
Fecha de Ingreso: enero-2011
Ubicación: <?php $persona->ubicacion('ArkangelGammar'); ?>
Mensajes: 179
Antigüedad: 13 años, 4 meses
Puntos: 19
Respuesta: cerrar ventana window.close()???

Te sugiero que pongas todo el codigo javascript dentro de los tag <head></head> caso contrario raramente un navegador te lo va a identificar.

Tambien noto que el codigo no es de la pagina final.php, una cosa es abrir la pagina, y la otra cerrarla. El codigo para cerrar la pagina debe estar en final.php y no en el que hace la llamada a la apertura.

En definitiva, primero, pone el codigo javascript en los <head>, por encima del HTML que realiza la llamada, luego verifica si las funciones estan en la ubicacion correcta.

Espero haber sido de utilidad.

Saludos
__________________
"No entiendes algo al menos que seas capaz de explicarselo a tu abuela.
Cada dia sabemos mas....y entendemos menos...."

A. Einstein - Genio mas alla de la razon.
  #6 (permalink)  
Antiguo 21/03/2011, 07:56
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: cerrar ventana window.close()???

muchas gracias,ya puse el codigo en el head,pero aun asi no funciona,la pagina final.php ya tiene su funcion window.close(); que la cierra a ella misma,lo que yo quero es despues de poner aceptar en el if confirm que se cierre la pagina desde donde lanso el if confirm,pero eso es lo que no me funciona
  #7 (permalink)  
Antiguo 21/03/2011, 08:32
Avatar de ArkangelGammar  
Fecha de Ingreso: enero-2011
Ubicación: <?php $persona->ubicacion('ArkangelGammar'); ?>
Mensajes: 179
Antigüedad: 13 años, 4 meses
Puntos: 19
Respuesta: cerrar ventana window.close()???

Para poder cerrar la ventana principal, proba con el siguiente codigo:

Código PHP:
<script>
function 
cerrar(){
   
window.parent.close()
}
</script> 
Espero haber ayudado.

Saludos
__________________
"No entiendes algo al menos que seas capaz de explicarselo a tu abuela.
Cada dia sabemos mas....y entendemos menos...."

A. Einstein - Genio mas alla de la razon.
  #8 (permalink)  
Antiguo 21/03/2011, 08:53
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: cerrar ventana window.close()???

sigue sin funcionar =( sera porque window.close() se puede usar solo con ventanas que se abren con window.open() ?? o me equivoco?
  #9 (permalink)  
Antiguo 21/03/2011, 08:56
Avatar de ArkangelGammar  
Fecha de Ingreso: enero-2011
Ubicación: <?php $persona->ubicacion('ArkangelGammar'); ?>
Mensajes: 179
Antigüedad: 13 años, 4 meses
Puntos: 19
Respuesta: cerrar ventana window.close()???

En realidad es bastante mas complejo. El tema es que estas no solo tratando de cerrar una ventana, sino que tambien una instancia del navegador web que estas utilizando, lo cual como podras deducir infiere un riesgo de seguridad, ya que se esta permitiendo que un sitio tome control (aunque sea para cerrar) del navegador web.

Podes seguir investigando, pero casi todos los ejemplos van a ser iguales.

Disculpa que mi respuesta no soluciono tu problema.

Saludos
__________________
"No entiendes algo al menos que seas capaz de explicarselo a tu abuela.
Cada dia sabemos mas....y entendemos menos...."

A. Einstein - Genio mas alla de la razon.
  #10 (permalink)  
Antiguo 21/03/2011, 09:36
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: cerrar ventana window.close()???

no te preocupes, estoy aca para aprender,y lo que me has enseñado me ha servido mucho
  #11 (permalink)  
Antiguo 21/03/2011, 10:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Javascript

Etiquetas: cerrar, php, ventanas
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 11:09.