Здесь, используя только ES5 (при условии, что на этом этапе вы не выполняете перенос), я быстро выполнил рефакторинг.
var ticketInput = document.getElementById("totalTicketCost");
var inputTicketQuantity = document.getElementById("inputTicketQuantity");
var ticketCost = 5.5;
// Handle the precision up to >= $100
function changeCost( num ) {
var cost = new Number( parseFloat( num ) * ticketCost );
var precision = cost.toString().length === 3 ? 3 : 4;
return cost.toPrecision( precision );
}
inputTicketQuantity.addEventListener('input', function( event ) {
var value = event.target.value;
if ( !isNaN( value ) ) {
ticketInput.innerHTML = changeCost( value );
}
});
Вы определенно хотите максимально отделить JS от HTML, избегайте трудно читаемых встроенных вещей, таких как <form onsubmit="" ="return alertDetails()"
, по крайней мере, <form onsubmit="return alertDetails()"
, чтобы исправить это.