| 
		
			Сообщение от Hapson
			
		
	 | 
	| 
		Что не так в программных кликах и сабмитах?
	 | 
	
то, что ты зависишь от типа события и уже не сможешь повесить данный функционал на другие виды событий или на комбинацию событий
Еще, например, окно нельзя будет открыть (его заблокирует браузер)
	
	| 
		
			Сообщение от Hapson
			
		
	 | 
	| 
		все нужно что-то вернуть - true или false... что вернуть!?
	 | 
	
например, 
обещание
(будет работать в последней версии хрома. Для других браузеров реализацию обещаний можно загуглить)
<button onclick=test()>test</button>
<script>
  
  function check() {
    var promise = new Promise(function(resolve, reject) {
      setTimeout(function() {
        resolve('success');
        //reject('error');
      }, 2000);
    });
    return promise;
  }
  
  
  function test() {
    var promise = check();
    promise
      .then(function(v) {
        alert(v);
      })
      .catch(function(v) {
        alert(v);
      });
  }
</script>