Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Немогу понять в чем ошибка!!! (https://javascript.ru/forum/misc/10017-nemogu-ponyat-v-chem-oshibka.html)

shureg 15.06.2010 17:46

Немогу понять в чем ошибка!!!
 
Здравтсвуйте, имеется форма и две javascript функции, практически одинаковые!!! первая функция работает на ура, а вторая выдает ошибку!!


сама форма:
<label>Отдаете:</label>
<input type="text" name="amount"  maxlength="10" value="0.00" size="6" onChange="comission_convert()"><br>

<label>С учетом комиссии:</label>
<input type="text" id="comission" value="0.00" size="6" onChange="amount_convert()"><br>


JS функции!
function comission_convert()
{
	var amount = document.transfer_form.amount.value;
	amount = str_replace(",", ".", amount);
	
	if(amount > 0)
	{
		var set_comis = (amount-(amount*0.005)).toFixed(2);
		document.getElementById("comission").value = set_comis;
		document.transfer_form.amount.value        = amount;
	}
	else
	{
		document.getElementById("comission").value = 0.00;
		document.transfer_form.amount.value        = 0.00;	
	}

}


function amount_convert()
{
	var amount = document.getElementById("comission").value;
	amount = str_replace(",", ".", amount);
	
	if(amount > 0)
	{
		var set_comis = (amount+(amount*0.005)).toFixed(2);
		document.transfer_form.amount.value = set_comis;
		document.getElementById("comission").value = amount;
	}
	else
	{
		document.getElementById("comission").value = 0.00;
		document.transfer_form.amount.value        = 0.00;	
	}

}


ошибка возникает в функции amount_convert();, строчка: var set_comis = (amount+(amount*0.005)).toFixed(2);

exec 15.06.2010 18:15

amount — это строка. А у String нет метода toFixed, отсюда и ошибка.

shureg 15.06.2010 18:18

Цитата:

Сообщение от exec (Сообщение 59637)
amount — это строка. А у String нет метода toFixed, отсюда и ошибка.


а почему тогда в первой функции работает? :-E

exec 15.06.2010 18:55

Без понятия. Но

alert('100500'.toFixed(0));

shureg 15.06.2010 18:58

Цитата:

Сообщение от exec (Сообщение 59642)
Без понятия. Но

alert('100500'.toFixed(0));

тоесть мне нужно переменную перевести в float и уже только потом применять toFixed ?

если да, то неподскажите функцию аналогичной round() из php :write:

exec 15.06.2010 19:01

parseInt(string);


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