Programador PHP freelance

Problemas al cambiar el tipo de un input password con Internet Explorer

Me he visto en la tesitura de intentar cambiar en dinámico el tipo de un input de tipo text a tipo password y viceversa.

Algo tan sencillo como hacer lo siguiente:

obj = document. getElementById('campo_password');
obj.type = 'text';

Todo funciona perfectamente con Firefox pero cuando lo he probado con Internet Explorer 7 el navegador me devuelve un error con el objeto y no hay manera.

He probado a realizar el cambio desde jquery para que el framework se encargara de realizar la modificación pero tampoco ha funcionado. Internet Explorer devuelve el mismo error. Grrrrrrrrrrr

Al final he encontrado este código por Internet que soluciona el problema. Hace más cosas pero seguro que un programador espabilado sabrá aislar la funcionalidad que necesite 😉

Llamandolo así convertireís el campo a tipo text donde thisInput es el objeto input

changeInputType(thisInput,'text',txtLabel,false,true);
function changeInputType(
  oldElm, // a reference to the input element
  iType, // value of the type property: 'text' or 'password'
  iValue, // the default value, set to 'password' in the demo
  blankValue, // true if the value should be empty, false otherwise
  noFocus) {  // set to true if the element should not be given focus
  
  if(!oldElm || !oldElm.parentNode || (iType.length