Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

Problema con Button.onclick

Buenas, tengo problemas para hacer uso de la función OnClick, aquí un ejemplo.

var input = document
 .querySelector("input");

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

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


function nuevosValores() {
 var nuevoValor = prompt(
  "Cual sera el monto a depositar"
 );
 return parseInt(nuevoValor);
}


var historialDepositado = [125,
 75
];

function ingresarDinero() {
 var registroAntiguo =
  historialDepositado;
 registroAntiguo.push(
  nuevosValores());
 return registroAntiguo;
}
//llamaré a ésta función por medio de 
//la sentencia button.onclick = cargarValor;
function cargarValor() {
 historialDepositado =
  ingresarDinero();
 imprimir(
  "Historial de los depósitos <br>" +
  historialDepositado);

 imprimir(
  "Monto de depósitos alcanzado de todos los depósitos realizados: <br>" +
  sumasDepositadas);
}


function calculoSumaTotalDepositada() {
 var sumasDepositadas = 0;
 for (var posicion =
   0; posicion <
  historialDepositado
  .length; posicion++) {
  sumasDepositadas =
   sumasDepositadas +
   historialDepositado[
    posicion];
 }
 return sumasDepositadas;
}

historialDepositado =
 ingresarDinero();

var sumasDepositadas =
 calculoSumaTotalDepositada();

var button = document
 .querySelector("button");
// no eh podido decifrar porque 
//la sentencia button.onclick 
//no funciona 
// button.onclick = cargarValor ;


imprimir(
 "Historial de los depósitos <br>" +
 historialDepositado);

imprimir(
 "Monto de depósitos alcanzado de todos los depósitos realizados: <br>" +
 sumasDepositadas);
4 respuestas

Supongo que es que te faltan paréntesis, algo así: button.onclick = cargarValor() ;

Christian aseguro y demostró que la sentencia que has compartido se ejecutará antes de activar el disparador. Gracias por brindar tu opinion

Compañero si descomentas la linea de button.onclick = cargarValor; y agregas un console.log("Prueba" + input) con por ejemplo ese texto e inspeccionas la consola una vez das clic en el botón te vas a dar cuenta que si te va a funcionar ese onclick, también puedes hacer una alert("Prueba ejecucion") así vas ir depurando tu código. También te aconsejo que vayas probando tus funciones que vas creando antes de terminar de completar todo el ejercicio, una vez te asegures que si cumple con la función que estas creando ya puedes continuar con la siguiente. lo que revise de tu código es esto:


<input>
  <button>Clic</button>
  <script>
    var input = document.querySelector("input");

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

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


function nuevosValores() {
 var nuevoValor = prompt(
  "Cual sera el monto a depositar"
 );
 return parseInt(nuevoValor);
}

var historialDepositado = [125,75];

function ingresarDinero() {
 var registroAntiguo = historialDepositado;
 registroAntiguo.push(
  nuevosValores());
 return registroAntiguo;
}

function cargarValor() {
  console.log("Hola" + input)
  historialDepositado = ingresarDinero();

  alert(historialDepositado)
  imprimir(
  "Historial de los depósitos <br>" +
  historialDepositado);

 imprimir(
  "Monto de depósitos alcanzado de todos los depósitos realizados: <br>" +
  sumasDepositadas);
}


function calculoSumaTotalDepositada() {
 var sumasDepositadas = 0;
 for (var posicion = 0; posicion < historialDepositado.length; posicion++) {
  sumasDepositadas = sumasDepositadas + historialDepositado[posicion];
 }
 return sumasDepositadas;
}

historialDepositado = ingresarDinero();

var sumasDepositadas = calculoSumaTotalDepositada();
var button = document.querySelector("button");

button.onclick = cargarValor;


imprimir(
 "Historial de los depósitos <br>" +
 historialDepositado);

imprimir(
 "Monto de depósitos alcanzado de todos los depósitos realizados: <br>" +
 sumasDepositadas);
  </script>

Saludes!

Gracias voy a intentar éste método del consol log no sé que funcion cumple.

En cuanto al botón, fue funcional durante la construcción del ejercicio planteado por el instructor.

las funciones construidas operaban correctamente pero no consegui hacerlas funcionar con el disparador.

no recuerdo si ejecute en codigo carcarValor(); con esas dos ultimas funciones de imprimir. Pero si, todas las funciones se ejecutaron correctamente.