давайте начнем с событий. и их отделим друг от друга
событие при клике. (onkeyup мы пока вообще выкинули из кода)
document.divide.onclick = function(){
console.log('event onclick');
document.divide.a.value = Math.ceil(document.divide.a.value / document.divide.b.value) * document.divide.b.value;
};
мы кликаем по 1му полю, чтобы записать значение. и тут происходит событие click - а значит оно нам считает результат и в первое поле нам выдает какую то фигню. а все почему? потому что считать начинает когда форма еще не до конца заполнена.
допустим мы очистили первое поле и ввели значение, теперь мы кликаем по второму полю, чтобы внести данные во второе поле. но нет, что опять? снова произошло событие клик и событие сделало подсчет и поле снова выводит не верное значение...