Problema com focus();

Boa tarde galera estou com um problema com a função abaixo: Quando acessado através do chrome ou do firefox funciona normal, mais no IE entra em loop infinito. Alguém poderia me ajudar por favor. Quando o campo perde o focu dispara o alert que valida esse campo e o próximo campo dispara o alerte da validação dele e fica assim fecha um alert e dispara o outro. Alguém já passou por isso? Segue função:

function verificaPrazoContratacao(prazo){
var vlrAprendizCargo = document.getElementById(‘aprendizCargo’).value;
vlrAprendizCargo = vlrAprendizCargo.split(’,’);
var achouAprendiz = false;

    for(i = 0; i < vlrAprendizCargo.length; i++) {
    	       if(document.getElementById('codCargo').value == vlrAprendizCargo[i]){
	       achouAprendiz = true;
	        if(eval(prazo) < 1 || eval(prazo) > eval('<%=vlrAprendizPrazo%>')){
	        	alert("O Período Contratação deve ser entre 1 e <%=vlrAprendizPrazo%> meses!");
	            document.frmRequisicao.prazoContratacao.focus();
	        }
	        break;	        
	    }
	}
	
	if (!achouAprendiz) {
        if(eval(prazo) < 1 || eval(prazo) > eval('<%=vlrPrazo%>')){
          alert("O Período Contratação deve ser entre 1 e <%=vlrPrazo%> meses!");
          document.frmRequisicao.prazoContratacao.focus();
        }
	}


    // limpando os campos de datas
    limpaDatas();
  }

Problema resolvido, troquei a propriedade onblur pela onkeyup e funcionou.