Estoy tratando de hacer una calculadora muy simple en HTML y javascript, pero todavía no funciona
Mi pregunta es:
1. ¿Cómo obtengo valor de un formulario y lo fijo como un número, no como una cadena?
2. ¿Cómo realizo el cálculo cuadrático en javascript?
3. ¿Cómo actualizo el contenido html con javascript? Entonces cada vez que cambio el valor del formulario de entrada y presiono enviar, el resultado cambiará en función de la entrada que escriba, he intentado con document.getElementById (“idhere”). InnerHTML = valuehere; pero todavía no funciona.
function calculateThis(form) { var userweight=form.weight.value; var caffeineamount=form.caffein.value; var caffeinetimes=form.caffeintimes.value; var totalcaffeine=caffeineamount*caffeinetimes; // Calculate max caffeine per person var maxcaffeine=userweight*10; // Calculate remaining after 24 hours // Half life = 6 hours var totalcaffeineafter=totalcaffeine(1/16); // Calculating how many hours until the caffeine completely digested var totaldigest=totalcaffeine; var digesttime=0; while (totaldigest>0.05) { totaldigest=totaldigest(1/2); digesttime++; } digesttime=digesttime*6; // Calculating when the user will probably die of overdose var countcaffeine=0; var overdosetime=1; while (countcaffeine<maxcaffeine){ countcaffeine=countcaffeine+totalcaffeine; overdosetime++; } // Show total amount of caffeine document.getElementById("showtotalkafein").innerHTML=totalcaffeine; // Show amount of caffeine after 1 day document.getElementById("showtotalkafeinsetelah").innerHTML=totalcaffeineafter; // Show digest time document.getElementById("showwaktudigest").innerHTML=digesttime; // Show overdose document.getElementById("showberapakali").innerHTML=overdosetime; return false; } Result
Show Caffein Total Here
Show Caffeine Amount After 24 hours
Show Digest TIme Here
Show Overdose Time Here
function calculateThis(form) { var userweight = parseInt(form.weight.value, 10); var caffeineamount = parseInt(form.caffein.value, 10); var caffeinetimes = parseInt(form.caffeintimes.value, 10); var totalcaffeine = caffeineamount * caffeinetimes; console.log(totalcaffeine) // Calculate max caffeine per person var maxcaffeine = userweight * 10; // Calculate remaining after 24 hours // Half life = 6 hours var totalcaffeineafter = totalcaffeine * (1 / 16); // Calculating how many hours until the caffeine completely digested var totaldigest = totalcaffeine; var digesttime = 0; while (totaldigest > 0.05) { totaldigest = totaldigest * (1 / 2); digesttime++; } digesttime = digesttime * 6; // Calculating when the user will probably die of overdose var countcaffeine = 0; var overdosetime = 1; while (countcaffeine < maxcaffeine) { countcaffeine = countcaffeine + totalcaffeine; overdosetime++; } // Show total amount of caffeine document.getElementById("showtotalkafein").innerHTML = totalcaffeine; // Show amount of caffeine after 1 day document.getElementById("showtotalkafeinsetelah").innerHTML = totalcaffeineafter; // Show digest time document.getElementById("showwaktudigest").innerHTML = digesttime; // Show overdose document.getElementById("showberapakali").innerHTML = overdosetime; return false; }
MANIFESTACIÓN
Aquí usé .parseInt()
que solía convertir un número a entero, si necesita algún valor en Float y luego usa .
parseFloat () `.
form.weight.value
, form.caffein.value
... dar valor como cadena, por lo que debe convertirlos en número (entero / flotante).
totalcaffeine(1 / 16)
y totaldigest = totaldigest(1 / 2);
, no es una operación matemática válida en javascript, debe ser totalcaffeine * (1 / 16)
totaldigest = totaldigest * (1 / 2);
totalcaffeine * (1 / 16)
y totaldigest = totaldigest * (1 / 2);
¿Qué es lo que .parseInt(form.caffeintimes.value, 10)
?
El formato de parseInt
es:
.parseInt(valueToConvert, [radix])
.
Entonces, .parseInt(form.caffeintimes.value, 10)
convertirá form.caffeintimes.value
string en un entero de 10 bases.
.parseInt ()
.parseFloat ()