... yo me he encontrado con el mismo problema y me ha costado bastante encontrar una solución correcta, por eso contesto en este mismo mensaje.
La solución pasa por meter dentro de un setTimeout la llamada al método focus() de esta forma:
Código:
setTimeout("document.getElementsByName('nameDeInput')[0].focus();",0)
En este caso he utilizado el "getElementsByName" porque el input en el que tenía que hacer el foco no tenía el atributo "id", pero también debería de valer con "getElementById"
Espero que os sirva.