Sí, es lógico que te mande error porque no se pueden asignar valores a resultados de funciones (en tu caso,
substring()). Además fíjate que estas haciendo this.substring, y this es probablemente una caja de texto, no un String, con lo cual no tiene método
substring(). Yo te dije que asignaras a
this.value la primera letra con el
upperCase() + el resto sin tocarlo, es decir:
Código PHP:
<input type="text" onchange="this.value = this.value.charAt(0).toUpperCase() + this.value.substring(1,this.value.length);" />
PD: No hace falta que se coloque "javascript
:" en ningún lugar del documento, se asumen en los eventos que será código del cliente. Ni siquiera se pone en los enlaces <a>, se sustituye el
href por una # y en el evento se lanza un
return false para anular los efectos del evento. Tampoco los eventos llevan mayúsculas, se escriben todos en minúsculas sin ningún problema.
Un saludo, espero que te sirva.