Функция JS выдаёт ошибку
Имеется в отдельном файле js функция
function My(input,output,cost,box,ostatok)
{
var num = document.getElementById(input).value;
var res=cost*num;
if(ret==0){document.getElementById(box).checked='';
}else{document.getElementById(box).checked='1';
}
document.getElementById(output).value=res;
if(num>=ostatok){
document.getElementById(input).value=ostatok;
res=cost*ostatok;
document.getElementById(output).value=res;
}
}
На странице имеются элементы input:
<input id="4_input" value="0" type='text' size="20" onkeyup="setTimeout(My('4_input','4_output','100','4','2'), 10);">
<input id="4_output" value="0" type='button' size='5'>
То есть функция перемножает пару чисел и возвращает во второй input, но при этом выводится ошибка - "Недопустимый аргумент"
С чем это может быть связано?
И ещё вопрос - в функции есть проверка превышения введённого пользователем числа над остатком - срабатывает только если первая цифра больше или равна первой остатка.
Как сделать, чтобы при любом превышающем остаток числе срабатывала замена вводимого на максимум?
Спасибо!
1) ты проверяешь неизвестную переменную ret (if(ret==0){document.getElementById(box).checked='' ;
}else{document.getElementById(box).checked='1';
})
2) ты передаёшь в качестве аргумента box 4, но на странице четвёртого элемента нет.
1)исправил.
2)на странице имеется элемент
<input type='checkbox' id='4'>
итого: всё равно не работает...
Т. е выражение My('4_input','4_output','100', '4','2') тебе нужно взять в кавычки.
Спасибо за совет. Попробую.