function isInteger(char) {
return (char.toString().search(/^-?[0-9]+$/) == 0 )
}
function validateQuan() {
var minExist = "false";
for (i=0; i<3; i++) {
var j = document.getElementById("ProductQuantity_"+i).value;
if (isInteger(j) && j > 0) {minExist = "true";alert("oi");}
}
if (minExist == "true") {$("#pvs_form").submit();} else {alert("Please enter at least one valid quantity");}
}
Выше мой код, он работает на FF 3.6 и IE8, но не с IE7.
В IE7 «if (isInteger(j) && j > 0)
» не может привести к «истине».
Даже я удаляю "j > 0
" и использую "[1-9]
" для регулярных выражений.
Есть ли лучшее решение?
edit : извините, регулярное выражение неверно, любое число > 9
тоже "true".
edit : большое извините всех, я просто обнаружил, что главная проблема на самом деле, потому что я получил другую форму на той же странице с тем же идентификатором "ProductQuantity_
" + i, и, вероятно, он повернет IE7 смотреть только на первый элемент с идентификатором, найденным на странице
Может быть, мой оригинальный код работал на самом деле, но спасибо, чтобы напомнить мне, что регулярное выражение не так, как ожидалось, и получить лучший код. Спасибо и еще раз извините.