02.10.2015, 11:35
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
А разве это окно?
var one = document.getElementById("recent").value;
var one = document.getElementById("recent");
one.value = (one.value * a).toFixed(2);
document.getElementById("output").innerHTML=res; - такое кстати не годится, у этого поля есть свойство value, которое и нужно изменять.
Последний раз редактировалось laimas, 02.10.2015 в 11:38.
|
|
02.10.2015, 12:37
|
Аспирант
|
|
Регистрация: 13.08.2015
Сообщений: 45
|
|
спасибо большое. а чтобы первый ввод запоминался, что нужно прописать? Ато оно умножается постоянно, а нужно, чтобы ввод recent оставался, но при нажатии на кнопки умножался на аргумент кнопки?
про textarea понял, спасибо.
|
|
02.10.2015, 12:40
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Lecseus
|
а чтобы первый ввод запоминался, что нужно прописать? Ато оно умножается постоянно, а нужно, чтобы ввод recent оставался, но при нажатии на кнопки умножался на аргумент кнопки?
|
Не осилил вопроса. Зачем же тогда изменять значение этого поля?
|
|
02.10.2015, 12:43
|
Аспирант
|
|
Регистрация: 13.08.2015
Сообщений: 45
|
|
ну да. например, если я ввел первое значение евро 5. то первая кнопка переводит это значение в фунты. теперь если я захочу нажать на кнопку другую, чтобы все то же значение 5, которое я ввел в самом начале, умножалось уже по тому, какое значение в другой кнопке.. это вообще возможно?
|
|
02.10.2015, 13:04
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Наверное нужно исходить из того, для чего это? Ввод в поле формы, так что должен получить сервер - 5 или 5 умноженное на N? Если первое, то результат умножения не стоит помещать в поле ввода, а выводить рядом как информацию. А запомнить ввод конечно можно, сохраняя его в переменной при каждом отпускании клавиши (цифровой).
|
|
02.10.2015, 13:11
|
Аспирант
|
|
Регистрация: 13.08.2015
Сообщений: 45
|
|
function rezultat(a) {
var one = document.getElementById("recent");
var two = document.getElementById("recent2");
two.value = (one.value * a).toFixed(2);
}
спасибо, реализовал таким образом.
вы не подскажете, а как сохранить в переменной значение при каждом отпускании клавиши?
|
|
02.10.2015, 13:28
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Ну во-первых нужно запретить ввод в поле не цифровых символов, и обрабатывать событие отпускание клавиши. Если нативный обработчик то так:
объявить переменную var n = 0;
добавить обработчик полю ввода - onkeyup="if(this.value = this.value.replace(/^0|\D/,''))n=this.value"
в функции проверять - if(n) { //выполнение функции, умножение
Вот только как знать, что ранее запомненное это первый ввод числа, а сейчас жмем клавиши, это уже ввод нового числа?
|
|
02.10.2015, 13:54
|
Аспирант
|
|
Регистрация: 13.08.2015
Сообщений: 45
|
|
спасибо большое. буду заниматься оформлением, основное вы помогли.
попробовал добавить обработчик, все хорошо, но вот в if наверное допускаю ошибку.
|
|
02.10.2015, 14:26
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
if(this.value = this.value.replace(/^0|\D/,''))n=this.value по русски:
если(значение поля ввода равное значению поля вода из которого удалены не цифры, а также 0, если он первый в числе, не пустое), то переменной n (которая должна быть объявлена в скрипте) присвоить текущее значение поля ввода
И ошибок в условии нет, так что не знаю чего там у вас с if.
Последний раз редактировалось laimas, 02.10.2015 в 14:31.
|
|
02.10.2015, 14:56
|
Аспирант
|
|
Регистрация: 13.08.2015
Сообщений: 45
|
|
function rezultat(a) {
var n = 0;
if(n){
var one = document.getElementById("recent");
var two = document.getElementById("recent2");
two.value = (one.value * a).toFixed(2);
}
};
я имею ввиду здесь ошибка
|
|
|
|