| 
	
	
		
		
			
			 
				Помогите в замыкании универсальной функции для обработчиков событий addEventListener
			 
			
		
		
		
		Есть два поля, значения в которых нужно отвалидировать (только цифры). 
 
Есть код: 
function validateField (e, checked_field_id) { 
	e.stopPropagation(); 
        e.preventDefault(); 
 
        var checked_field = $('#' + checked_field_id), 
        	container = checked_field.parent('.field-label').children('.validate-field'); 
 
        if (isNaN(payment_sum.value) || payment_sum.value === "" || payment_sum.value === undefined) { 
			checked_field.addClass("wrong-data"); 
        	container.addClass("validate-no"); 
        } else { 
        	checked_field.removeClass("wrong-data"); 
        	container.removeClass("validate-no"); 
        	container.addClass("validate-yes"); 
        } 
	} 
 
	document_number.addEventListener("change", function (e, id) {  
			 return function() { 
						validateField(e, id);  
					}; 
			}(event,'document_number') 
	, false); 
	payment_sum.addEventListener("change", function (e, id) {  
			 return function() { 
						validateField(e, id);  
					}; 
			}(event,'payment_sum') 
	, false); 
 
Почему-то реакция для первого поля происходит с учетом верного/неверного значения во втором поле. 
На значение во первом поле скрипт не реагирует. 
 
Подробно: 
1. Ввожу в первое поле цифры - реагирует, что неверно введено (подозреваю, т.к. смотрит на значение второго поля, которое еще не заполнено и равно пустой строке). 
2. Ввожу во второе поле цифры - реагирует, что верно всё введено. 
3. Ввожу в первое поле буквы - реагирует, что верно введено (подозреваю опять же из-за того, что во втором поле введены цифры). 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 |