|
|
|
|
|
для: CNT
(25.06.2007 в 11:34)
| | Спасибо большое, все работает!
Я как-то даже и не думал о типах... И не додумался бы ;)) Спасибо! | |
|
|
|
|
|
|
|
для: FiX
(25.06.2007 в 09:15)
| | Несоответствие типов.
object.value всегда возвращает строку, т.е. переменная InStock - у вас получает строковое значение.
Затем в операторе if () вы сравниваете эту переменную с числом. Причём первым операндом в неравенстве у вас стоит именно строка - а браузер всегда тип второго операнда приводит к типу первого. Т.о. сравниваете вы две строки... а какая из строк "мама" и "папа", например, больше?
Т.е. вместо записи if (InStock < part) надо написать if (part > InStock), вот тогда браузер отработает относительно корректно.
Ну а для полной корректности напишите if (part > (InStock * 1)) - операция умножения возможна только между числами (и результат её тоже всегда - число) | |
|
|
|
|
|
|
| Ничего не понимаю: пишу код который сравнивает, сколько товаров есть в наличии. То есть:
<input type=\"hidden\" id=\"inStock_".$vProd['productID']."\" value=\"".$vProd['in_stock']."\">
|
То есть здесь каждому элементу присваивается свое имя. Потом с Javascript делаю сравнение (при добавлении в корзину):
function addCart(num,part) // num - ID элемента, part - сколько запрашивают штук
{
var InStock = document.getElementById('inStock_' + num).value; // узнаем его ID
if (InStock < part) // сравниваем
{
if (confirm('В наличии имеется только ' + InStock + ' шт. Вы хотите заказать все (' + InStock + 'шт)?'))
{ addCart(num,InStock); }
}
else
{
// все ok, продолжаем работу
}
}
|
В Мозилле и Опере работает идеально. Но в IE и Аванте всегда ошибки.: сначала вообще не работает проверка, потом если постоянно добавлять, начинает работать. В чем тут дело? | |
|
|
|
|