Solucionado (ver solución)
Solucionado
(ver solución)
17
respuestas

No se estaría ejecutando el prompt.

Hola buenas noches estimados, tengo problemas con el uso del prompt. No aparece el pop up. ,¿Con el solo uso como esta en ejemplo anterior del uso del prompt tendría que aparecer el pop up? o tengo que hacer algo más?. Quise añadir una imagen de mi código..pero tardaba mucho en cargar. Desde ya muchas gracias!

17 respuestas

Si compartes tu código quizás te podamos ayudar mejor.

Te dejo el segmento de código que ejecuta correctamente la función PROMPT, para que lo puedas comparar:

<meta charset="UTF-8">
<script>
pesoUsr = prompt("Informe su peso");
alturaUsr = prompt("Informe su altura");
imcUsr = pesoUsr/Math.pow(alturaUsr,2);
document.write(imcUsr);
</script>

Gracias por el dato

Hola buen día! muchas gracias por responder. Bueno lo primero que vi diferente en mi código es que tenia var antes de las variables y en vez de colocar document.write escribí imprimir. Hice esos cambios pero sigue sin aparecer el pop up.

acá dejo mi nuevo codigo

Calculo de IMC.

No sale tu código. Usa el botón de </> de aquí arriba donde escribes el texto para poner tu código.

<meta charset "FUT-8">
Calculo de IMC.
<br>
<script>

function saltarLinea(){
    document.write("<br>");

}    
funtion imprimir(frase){
    imprimir(frase);
}
funcion calcularIMC(peso,altura){
    var IMC= peso/(altura * altura);
    return IMC
}

 peso = prompt("Ingrese su peso");
 altura = prompt("ingrese su altura");

document.write("Su indice de masa corporal(IMC), es de "+ IMC);
</script>

Ahí está! muchas gracias.

También cambié de ejercicio. y no me aparecen...será algún error en la pc? adjunto el nuevo código

<meta charset="UTF-8">

<script>
    function saltarLinea() {
        document.write("<br>");
    }

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var edad = parseInt(prompt("¿Cuál es tu edad?"));
    var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");

   if (edad>=18) && (tieneLicencia = s){
        imprimir("Puede conducir");

   }else{
       imprimir("No puede conducir"); 
   }
</script>

Empecemos por el primer código: Tu primer línea hay que corregirla, de <meta charset "FUT-8"> a <meta charset="UTF-8"> como lo tienes en el segundo (no afecta la ejecución del programa, pero no te va a reconocer caracteres especiales).

Después hay que corregir las funciones imprimir y calcularIMC. Si te fijas no aparecen en azul porque no reconoce la palabra:

function saltarLinea() {    // Ésta está bien escrita.
    document.write("<br>");
}    
funtion imprimir(frase){      // Aquí debería ser function.
    imprimir(frase);                // Aquí debería ir un document.write(frase), tal como lo tienes en el segundo.
}
funcion calcularIMC(peso,altura){     // Aquí también debería ser function.
    var IMC= peso/(altura * altura);    // El var aquí no es necesario, pero no afecta la ejecución del programa.
    return IMC
}

Corrigiendo esto ya llega al prompt sin problema, pero no has llamado a la función, solamente asignas valores a las variables pero el hecho de que se llamen igual no significa que entran en la función. Tienes que llamarla así:

peso = prompt("Ingrese su peso");
altura = prompt("ingrese su altura");

calcularIMC(peso,altura);    // Ésta línea ejecuta la función ingresando los valores de peso y altura en las variables de la función

document.write("Su indice de masa corporal(IMC), es de "+ IMC);

Como dice en el video, la función bien puede quedar como function calcularIMC(x,y){ y dentro de la función tener IMC= x/(y*y) porque ahí indicas la operación con las variables propias de la función, ahora sí que se llamen igual que las del prompt es mera casualidad que se presta a confusión. Incluso puedes llamar a la función directamente con valores numéricos y los va a asignar a sus respectivas variables: calcular IMC(62,160). Espero ser claro con esto.

Te dejo el código corriendo:

<meta charset="UTF-8">
Calculo de IMC
<br>
<script>

function saltarLinea(){
    document.write("<br>");

}    
function imprimir(frase){
    document.write(frase);
}
function calcularIMC(peso,altura){
    IMC= peso/(altura * altura)
    return IMC
}

peso = prompt("Ingrese su peso");
altura = prompt("ingrese su altura");

calcularIMC(peso,altura);

imprimir("Su indice de masa corporal(IMC), es de "+IMC);
</script>

En tu segundo código lo que tienes que corregir es tu condición.

Ambas condiciones deben ir dentro de un paréntesis general, es decir, toda tu condición ( (condición 1) && (condición2) ). Y en el caso de tieneLicencia, recuerda que en una condición debes poner == para que sea una comparación, y como es una variable de tipo cadena, necesitas poner la s dentro de comillas.

   if ( (edad>=18) && (tieneLicencia == "s") ){
        imprimir("Puede conducir"); 

   }else{
       imprimir("No puede conducir"); 
   }

Gracias por explicarnos para asi poder aprender de nuestros errores, a los que estamos comenzando en la programación es de gran ayuda.

Hola Ale! gracias ya hice las modificaciones, copié tu código y lo pegué y no se me ejecutó nada. Ayer estuve haciendo ejercicios y me aparecía el cartel... y después no...será que he tocado algo en las herramientas de desarrollador? seguiré intentando y te comento. muchas gracias por tu tiempo.

A mí ya me corrieron ambos corrigiendo las líneas que te menciono. Intenta abrirlo en otro navegador, o revisa que la extensión de tu archivo sí sea .html Recuerda que si modificas debes guardar el archivo de texto y actualizar la página en el navegador.

Hola. ya intenté y nada... Lo que vi eran 2 mensajes en la consola, los cuales están en Inglés. Ahora aparece un sólo mensaje. Audit usage of navigator.userAgent, navigator.appVersion, and navigator.platform

Recien aparecía algo de Mode Quirks.

solución!

Ya corregí el código, lo copié mal (el del primer programa, edité el comentario lo puedes intentar nuevamente. ¿Tu segundo código ya corre bien? Te los dejo aquí de nuevo así como el enlace a mi repositorio donde tengo los archivos html por si los quieres probar aparte.

Programa 1:

<meta charset="UTF-8">
Calculo de IMC
<br>
<script>

function saltarLinea(){
    document.write("<br>");

}    
function imprimir(frase){
    document.write(frase);
}
function calcularIMC(peso,altura){
    IMC= peso/(altura * altura)
    return IMC
}

peso = prompt("Ingrese su peso");
altura = prompt("ingrese su altura");

calcularIMC(peso,altura);

imprimir("Su indice de masa corporal(IMC), es de "+IMC);
</script>

Programa 2:

<meta charset="UTF-8">

<script>
    function saltarLinea() {
        document.write("<br>");
    }

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var edad = parseInt(prompt("¿Cuál es tu edad?"));
    var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");

   if ((edad>=18) && (tieneLicencia == "s")){
        imprimir("Puede conducir");

   }else{
       imprimir("No puede conducir"); 
   }
</script>

Siii! funcionó! ahora me pondré a ver las diferencias. muchas gracias! ya creía que era la compu la que estaba mal. Gracias.

¿Podrías marcar la respuesta como solución? Podría servir para señalarse si alguien tiene la misma duda, y aparte da puntos (no sé para qué sean, pero por si acaso jaja :D)

Perfecto, marca como solucionado y cerrar el tema. saludos

Hola Andrés.donde me aparece cerrar tema?