Вызов метода внутри объекта 
		
		
		
		Здравствуйте! Столкнулся со следующей проблемой. Есть объект, в котором описаны методы, один из методов (count_checked_elem) формирует массив и присваивает его другому методу-объекту (res_array, массив с данными), а из третьего (submit) эти данные отправляются 
	
control = {
        res_array: {},
        count_checked_elem: function(name){
            var res_array_temp = new Array(), self = this;
            var Elements = document.getElementsByName(name), countChecked = 0, coincidence = 0;
            
            for(var i = 0, count = Elements.length; i < Elements.length; i++){
                if(Elements[i].checked){
                    var currentElemVal = Elements[i].value;
                    res_array_temp.push(currentElemVal);
                    countChecked++;
                }
            }
            self.res_array = res_array_temp;
            alert(self.res_array); //выводит верный, сформированный массив
            return countChecked;
        },
        submit: function(){
            var self = this;
            alert(self.res_array); //выводит undefined
        }
    }
После формирования и присваивания выводит массив с данными, а из метода submit выводит undefined, почему-то думаю что дело в контексте вызова this, но не могу сам додуматься в чем ошибка..Спасибо.  | 
	
		
 feoalter7, 
	и что не так? 
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>    <input name="test" type="checkbox" value="12345" checked="checked">
<script>
var control = {
        res_array: ['hmmm!'],
        count_checked_elem: function(name){
            var res_array_temp = new Array(), self = this;
            var Elements = document.getElementsByName(name), countChecked = 0, coincidence = 0;
            for(var i = 0, count = Elements.length; i < count; i++){
                if(Elements[i].checked){
                    var currentElemVal = Elements[i].value;
                    res_array_temp.push(currentElemVal);
                    countChecked++;
                }
            }
            self.res_array = res_array_temp;
            alert(self.res_array); //выводит верный, сформированный массив
            return countChecked;
        },
        submit: function(){
            var self = this;
            alert(self.res_array); //выводит тотже массив
        }
    }
  control.submit();
  control.count_checked_elem('test');
  control.submit();
</script>
</body>
</html>
 | 
	
		
 рони, вот так происходит выполнение метода submit 
	
var submitBtn = document.getElementById('submit_control');
submitBtn.addEventListener('click', control.submit, false);
Как Вы написали, да, работает, но вот если навесить обработчик события то undefined Все равно  | 
	
		
 feoalter7, 
	на ваш выбор 2 варианта 
var submitBtn = document.getElementById('submit_control');
submitBtn.addEventListener('click', function ()
{
    control.submit()
}, false);
var submitBtn = document.getElementById('submit_control');
submitBtn.addEventListener('click',  control.submit.bind(control)
, false);
 | 
	
		
 рони, 
	спасибо! работает! Решено.  | 
| Часовой пояс GMT +3, время: 18:30. |