Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Деление с остатком (https://javascript.ru/forum/misc/50379-delenie-s-ostatkom.html)

GonzoT 24.09.2014 14:19

skrudjmakdak, именно так, как Вы описали! Всё отлично считается при таком коде:
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;
    document.divide.c.value = Math.ceil(document.divide.a.value / document.divide.b.value);
};

Но это обязует кликать в поле C, чтобы узнать результат C, а так же изменилось поле A. Можно ли это как-то избежать, например, посредством добавления того же onkeyup куда-то или каких-то jquery штук? :)

skrudjmakdak 24.09.2014 14:36

Цитата:

Сообщение от GonzoT (Сообщение 332098)
skrudjmakdak, именно так, как Вы описали! Всё отлично считается при таком коде:

а по моему нет, как было так и осталось :)
Цитата:

Сообщение от GonzoT (Сообщение 332098)
Но это обязует кликать в поле C, чтобы узнать результат C, а так же изменилось поле A. Можно ли это как-то избежать, например, посредством добавления того же onkeyup куда-то или каких-то jquery штук? :)

вообще то делают кнопку и на нее вешают событие. и когда форма заполнена, то кликают по кнопке. разумеется срабатывает событие и пользователь получает результат

GonzoT 24.09.2014 15:07

Цитата:

Сообщение от skrudjmakdak (Сообщение 332101)
а по моему нет, как было так и осталось :)

Это потому, что я в прошлый раз пытался с onkeyup и поля были NaN ;)
В этот раз получилось, что всё сработало из-за того, что вы избавились от него)

Цитата:

Сообщение от skrudjmakdak (Сообщение 332101)
вообще то делают кнопку и на нее вешают событие. и когда форма заполнена, то кликают по кнопке. разумеется срабатывает событие и пользователь получает результат

Знаю, что с кнопкой это возможно, но хотелось бы обойти этот вариант :)
Может всё-таки есть какие-то возможности помимо этой?

skrudjmakdak 24.09.2014 15:27

можно на второе поле повесить onblur, но где гарантия, что пользователь не начнет вводить данные со второго поля?

GonzoT 24.09.2014 21:30

Цитата:

Сообщение от skrudjmakdak (Сообщение 332107)
можно на второе поле повесить onblur, но где гарантия, что пользователь не начнет вводить данные со второго поля?

В итоге повесил onblur на инпут A, а результат A / B вынес в onkeyup. Не совсем то, чего я пытался добиться, но всё равно капельку лучше, чем было :)
document.divide.onclick = document.divide.onkeyup = function(){
    document.divide.c.value = Math.ceil(document.divide.a.value / document.divide.b.value);
};

document.divide.onclick = function division(){
    document.divide.a.value = Math.ceil(document.divide.a.value / document.divide.b.value) * document.divide.b.value;
};

Благодарю за помощь и дельные советы! :thanks:


Часовой пояс GMT +3, время: 23:12.