El problema vino con Firefox. Al enfocar el input, y sin que nadie se lo ordenara, cambiaba a capricho el color del borde por uno mas oscuro, y como no vi modo alguno de solucionarlo me dije "si la Mahoma no va a la montaña, la montaña ira a Mahoma", asi que decidi añadir this.style.borderColor='dimgray' a todos y cada uno de los eventos.
Ahora el problema surge en los tres navegadores (IE, Chrome, FF), y es que al cambiar el foco ignora por completo esa orden, volviendo al color de borde por defecto. Este el el input que he creado:
Código:
He mirado a conciencia cualquier error de sintaxis y he probado otros colores, tanto con nombre como con hexadecimales, y sigue siendo la única orden en el evento onBlur que no obedece. <input type="text" style="text-align:right;color:black;font-weight:bold;border-width:3px;border-style:inset;font-family:arial;background-color:#ffffff;border-color:dimgray;" id="csaves" name="csaves" onKeyPress="javascript:return solonumeros(event)" onmousedown = "this.style.background='yellow';this.style.borderColor='dimgray'" onmouseup = "this.style.background='';this.style.borderColor='dimgray'" onfocus = "this.style.border='outset';this.style.borderWidth='3px';this.style.borderColor='dimgray'" onmouseover = "this.style.background='lime';this.style.borderColor='dimgray'" onmouseout = "this.style.background='';this.style.borderColor='dimgray'" onblur = "this.style.background='white';this.style.borderColor='dimgray';this.style.border='inset';this.style.borderWidth='3px'" onchange = "this.style.borderColor='dimgray'" onselect = "this.style.borderColor='dimgray'" onclick = "this.style.borderColor='dimgray'" />
Si fuera posible me gustaría prescindir de CSS, ya que tengo todo el formulario de esta manera y sería complicado reestructurarlo. Solo quiero entender por qué no responde a la instrucción, o si estoy errando el tipo de evento (cosa que dudo, por que ya he probado hasta el onRowEnter y onRowExit que ni se a que acción responden)