Я разработал этот код с помощью вас, ребята, здесь на stackoverflow. Я добавил к нему дополнительную часть, где он сравнивает два числа из двух разных массивов, в данном случае offhire1 и pro2.
Проблема в моем коде, где у меня есть:
(offhire1[i].value > pro2[i].value)
Это позволяет мне продолжать, только если числа совпадают, т.е. 100 = 100. Но то, что я ищу, - это определение любых чисел, которые превышают значение только 120> 100. Я проверил, передаются ли значения, и они есть.
В чем моя ошибка, может кто-нибудь разоблачить.
function validateoffhire(form) {
var num1 = document.getElementById('num1');
var test2Regex = /^[0-9 ]+(([\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
var accumulator = 0;
var num2 = num1.value;
var i=0;
var offhire1 = [];
var pro2 =[];
for(var i = 0; i < num2; i++) {
offhire1[i] = document.getElementById('offhire1' + i);
pro2[i] = document.getElementById('pro2' + i);
var offhire2 = offhire1[i].value;
// var pro3 = pro2[i].value;
if(!offhire2.match(test2Regex)){
inlineMsg('offhire1' + i,'This needs to be an integer',10);
return false;
}
else if (offhire1[i].value > pro2[i].value) {
alert("You entered: " + pro2[i].value)
inlineMsg('offhire1' + i,'You have off hired to many items',10);
return false;
}
else{
accumulator += parseInt(offhire2);
}
}
if(accumulator <= 0){
inlineMsg('num1' ,'You have not off Hired any items',10);
return false;
}
return true;
}