Hola, ya tienes la función que detecta si se presionó una tecla de letra o número, puedes usar el mismo if para mostrar u ocultar el error. Intenta estas modificaciones y ve lo que hace.
en tu funcion solotexto()
Código:
function solotexto() {
if ((event.keyCode != 32) && (event.keyCode < 65) || (event.keyCode > 90) && (event.keyCode < 97) || (event.keyCode > 122)){
document.getElementById("errorSpan").style.display = "inline";
event.returnValue = false;
} else{
document.getElementById("errorSpan").style.display = "none";
}
}
Y en tu HTML:
Código:
<tr>
<td><input id='nombre' name='nombre' onkeypress='solotexto()' type='text' size='30'></td>
<span id="errorSpan" style="display:none" id="error">El nombre debe tener solo letras</span>
</tr>