Foros del Web » Programando para Internet » Javascript »

me funciona todo menos la funcion de cerra

Estas en el tema de me funciona todo menos la funcion de cerra en el foro de Javascript en Foros del Web. hola estoy estudiando para un examen ytengo el siguiente codigo <html> <head> <title>Documento sin t&iacute;tulo</title> <script language="javascript"> var valores= new Array(1700,2800,3600); var nventana; function cal(formulario) ...
  #1 (permalink)  
Antiguo 08/03/2008, 08:56
 
Fecha de Ingreso: diciembre-2007
Mensajes: 26
Antigüedad: 16 años, 4 meses
Puntos: 1
me funciona todo menos la funcion de cerra

hola estoy estudiando para un examen ytengo el siguiente codigo

<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<script language="javascript">
var valores= new Array(1700,2800,3600);
var nventana;
function cal(formulario)
{
var contador=0;
var i;
var suma
/*como es un array en radio solamente se puede seleccionar uno igual que los checkbox*/
if(formulario.pago[0].checked)
i=1;
else if(formulario.pago[1].checked)
i=3;
else
i=12;


for(j=0;j<formulario.Accesorios.length;j++)
{
if(formulario.Accesorios[j].checked)
contador++;


}
if (contador==0)
alert("tienes que seleccionar al menos un boton");
else
{
if(formulario.Accesorios[0].checked)
suma=i*1700;
if(formulario.Accesorios[1].checked)
suma=suma+(i*2800);
if(formulario.Accesorios[2].checked)
suma=suma+(i*3600);

formulario.resultado.value=suma;
}


}

function mos(formulario)
{
var contador=0;
for(i=0;i<formulario.pago.length;i++)
{
if(formulario.pago[i].checked)
{
contador++;
nventana=window.open("","","width=300 height=100");
nventana.document.write("<b>BOTON SELECCIONADO<b><br>");
nventana.document.write("Valor del boton actual: " + formulario.pago[i].value+"<br>");
nventana.document.write("<b>CASILLAS SELECCIONADAS<b><br>");
}
}
if(contador!=0)
{
nventana.document.write("Nombre de la casilla: ");
for(j=0;j<formulario.Accesorios.length;j++)
{
if(formulario.Accesorios[j].checked)
nventana.document.write(formulario.Accesorios[j].value+"Valor mensual: " +valores[j]+"<br>");

}
}



if(contador==0)
{
nventana=window.open("","","width=300 height=100");
nventana.document.write(" no has seleccionado ningun parametro");
nventana.document.write("<input type='button' name='cerr' value='cerrar' onClick='cer()'>");

}

}

function cer()
{

alert("hola");
if(nventana.closed==false)
{

nventana.close();
window.close();
}


}

</script>
</head>

<body>
<form name="formulario">

<table border="2" bgcolor="#FFFFCC" rules="none">
<tr align="center">
<td>
DATOS DEL PEDIDO
</td>
</tr>
<tr>
<td>
Nombre y apellidos<input type="text" name="nombre" size="30"><br>
Forma de pago <input type="radio" name="pago" value="mensual">Mensual<input type="radio" name="pago" value="trimestral">Trimestral<input type="radio" name="pago" value="anual">Anual<br>
Accesorios<input type="checkbox" name="Accesorios" value="Aire acondicionado">Aire acondicionado<input type="checkbox" name="Accesorios" value"elevalunas">Elevalunas<input type="checkbox" name="Accesorios" value="radiocd">RadioCd
<tr align="center">
<td>
<input type="button" name="calcular" value="calcular" onClick="cal(this.form)" >
<input type="text" name="resultado" size="30">
</td>
</tr>
<tr align="center">
<td>

<input type="button" name="mostrar" value="mostrar" onClick="mos(this.form)" >
</td>
</tr>
</table>
</form>
</body>
</html>


pues me funciona todo menos la funcion cer que es si no selecciono ningun valor del formulario me abre una ventana, me dice que no he introducido nada,y se me cierra la ventana que he abierto y la original la del formulario.

pues resulta que no me reconoce la funcion cerrar que en mi caso es cer()
he mirado si entraba en la funcion cuando pulso el boton pero no entra,
he mirado si faltaba un parentesis y no falta,
he mirado si por casualidad habia puesto los nombres mal y nada de nada
he mirado con otros ejercicios y nada

el mensaje en mozilla es que no se reconoce la funcion cer
¿porque es?

por favor me gustaria resolver esta duda

muchas gracias al que me responda, me ayudais mucho
  #2 (permalink)  
Antiguo 08/03/2008, 13:55
 
Fecha de Ingreso: diciembre-2007
Ubicación: Argentina
Mensajes: 151
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: me funciona todo menos la funcion de cerra

El problema es que estás abriendo una ventana popup y no tienes la función cer() creada. Esta función está creada en la ventana que contiene el formulario y NO en la ventana Popup.

Para solucionar el problema debes reemplazar lo siguiente:

Código:
nventana.document.write("<input type='button' name='cerr' value='cerrar' onClick='cer()'>");
reemplazalo por:

Código:
nventana.document.write('<input type="button" name="cerr" value="cerrar" onClick="window.close()">');
De esta manera al hacer click en el botón se cerrará la ventana popup.

Saludos
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 09:47.