Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   input text отображение value (https://javascript.ru/forum/misc/44437-input-text-otobrazhenie-value.html)

laimas 02.10.2015 11:35

А разве это окно?

var one = document.getElementById("recent").value;

var one = document.getElementById("recent");
one.value = (one.value * a).toFixed(2);


document.getElementById("output").innerHTML=res; - такое кстати не годится, у этого поля есть свойство value, которое и нужно изменять.

Lecseus 02.10.2015 12:37

спасибо большое. а чтобы первый ввод запоминался, что нужно прописать? Ато оно умножается постоянно, а нужно, чтобы ввод recent оставался, но при нажатии на кнопки умножался на аргумент кнопки?

про textarea понял, спасибо.

laimas 02.10.2015 12:40

Цитата:

Сообщение от Lecseus
а чтобы первый ввод запоминался, что нужно прописать? Ато оно умножается постоянно, а нужно, чтобы ввод recent оставался, но при нажатии на кнопки умножался на аргумент кнопки?

Не осилил вопроса. Зачем же тогда изменять значение этого поля?

Lecseus 02.10.2015 12:43

ну да. например, если я ввел первое значение евро 5. то первая кнопка переводит это значение в фунты. теперь если я захочу нажать на кнопку другую, чтобы все то же значение 5, которое я ввел в самом начале, умножалось уже по тому, какое значение в другой кнопке.. это вообще возможно?

laimas 02.10.2015 13:04

Наверное нужно исходить из того, для чего это? Ввод в поле формы, так что должен получить сервер - 5 или 5 умноженное на N? Если первое, то результат умножения не стоит помещать в поле ввода, а выводить рядом как информацию. А запомнить ввод конечно можно, сохраняя его в переменной при каждом отпускании клавиши (цифровой).

Lecseus 02.10.2015 13:11

function rezultat(a) {
	var one = document.getElementById("recent");
	var two = document.getElementById("recent2");
	two.value = (one.value * a).toFixed(2);
	}

спасибо, реализовал таким образом.
вы не подскажете, а как сохранить в переменной значение при каждом отпускании клавиши?

laimas 02.10.2015 13:28

Ну во-первых нужно запретить ввод в поле не цифровых символов, и обрабатывать событие отпускание клавиши. Если нативный обработчик то так:

объявить переменную var n = 0;
добавить обработчик полю ввода - onkeyup="if(this.value = this.value.replace(/^0|\D/,''))n=this.value"
в функции проверять - if(n) { //выполнение функции, умножение

Вот только как знать, что ранее запомненное это первый ввод числа, а сейчас жмем клавиши, это уже ввод нового числа?

Lecseus 02.10.2015 13:54

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

laimas 02.10.2015 14:26

if(this.value = this.value.replace(/^0|\D/,''))n=this.value по русски:

если(значение поля ввода равное значению поля вода из которого удалены не цифры, а также 0, если он первый в числе, не пустое), то переменной n (которая должна быть объявлена в скрипте) присвоить текущее значение поля ввода

И ошибок в условии нет, так что не знаю чего там у вас с if.

Lecseus 02.10.2015 14:56

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);
	}
};

я имею ввиду здесь ошибка


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