Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Значение поля при определенном условии (https://javascript.ru/forum/misc/15233-znachenie-polya-pri-opredelennom-uslovii.html)

piko 18.02.2011 09:42

Значение поля при определенном условии
 
Добрый день всем!
Вопрос полного чайника.
Требуется посчитать произведение введенного пользователем числа на некоторое другое.

Так вот этот код работает правильно:

<script type="text/javascript">
function countSum() {
	var a = document.productform.ord_min.value; //1
	var c = document.productform.ord_cost.value; //500
	var m = document.productform.ord_max.value; //100
	var res = a * c;
	document.productform.ord_res.value = res;
}
</script>


<form name="productform" action="" method="post"> 
	<p class="pbig">500<span> руб / кг</span></p> 
	<label>Укажите объем заказа (1 - 100):</label><br> 
	<input type="hidden" name="ord_cost" value="500"> 
	<input type="hidden" name="ord_max" value="100"> 
	<input type="text" class="field" name="ord_min" value="1" onKeyUp="countSum();"> 
	<label> * цена = </label> 
	<input type="text" class="field" name="ord_res" value="500"> 
	<input type="button" class="ordbutton" value="в корзину"> 
</form>


Вопрос: почему задание следующего условия НЕ РАБОТАЕТ?
if(a <= m) document.productform.ord_res.value = res;

Казалось бы, если указано if(a <= m), то произведение должно подставляться только если 'a' меньше либо равно 'm'. Но ничего не происходит ни когда оно меньше, ни когда оно больше! Только если они равны! Я полный нуб, но это как-то не логично.

Объясните, пожалуйста, в чем тут дело. :help:

ksa 18.02.2011 09:58

Цитата:

Сообщение от piko
Объясните, пожалуйста, в чем тут дело

В типе значения. Т.ч. усиль т.с. нажим. :)

<!DOCTYPE html>
<html>
<head>
<title>Пыточная</title>
<style type="text/css">
</style>
<script type="text/javascript">
function countSum() {
	var a = document.productform.ord_min.value; //1
	var c = document.productform.ord_cost.value; //500
	var m = document.productform.ord_max.value; //100
*!*
	a=parseInt(a)
	c=parseInt(c)
	m=parseInt(m)
*/!*
	var res = a * c;
	if(a <= m) document.productform.ord_res.value = res;
}
</script>
</head>
<body>
<form name="productform" action="" method="post"> 
	<p class="pbig">500<span> руб / кг</span></p> 
	<label>Укажите объем заказа (1 - 100):</label><br> 
	<input type="hidden" name="ord_cost" value="500"> 
	<input type="hidden" name="ord_max" value="100"> 
	<input type="text" class="field" name="ord_min" value="1" onkeyup="countSum();"> 
	<label> * цена = </label> 
	<input type="text" class="field" name="ord_res" value="500"> 
	<input type="button" class="ordbutton" value="в корзину"> 
</form>
</body>
</html>

piko 18.02.2011 10:03

Цитата:

Сообщение от ksa
В типе значения. Т.ч. усиль т.с. нажим.

Понятно. :) Спасибо большое!


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