Ayuda JavaScript

devilitao

Resulta que tengo que hacer una programa, y una de las partes me dice...
En el cuadro de texto “Numero máximo de caracteres en el area de texto” se introducirá un número, el cual nos marcará el número máximo de caracteres que se pueden escribir en el área de texto de opinión. Cuando se alcance ese número máximo no se escribirá más en el área de texto

Se debe validar lo que se introduce en el cuadro de texto que se ha definido para limitar el número de caracteres. Se debe sacar un mensaje de error si no se ha introducido nada, si no hay nada escrito o si lo que se ha introducido NO es un número. Tanto el punto anterior como este se realizarán en la misma función y esta función se llamará cuando se escriba algo en el área de texto de opinión.

Y vamos que estoy liado y no consigo, lo unico que tengo es limitar yo mismo el textarea, pero es no es...

Pego el código (soy nuevo en esto)
<!DOCTYPE html>
<html>

<head>
<meta http-equiv= "content-type" content="text/html;
charset=utf-8">
<style>
#informacion{
border: 1px solid black;
background-color:grey;
width:500px;
height:200px;
float:left;
position:absolute;
left:600px;
}
#contenedor{
float:left;
}
</style>
<script type="text/javascript">
function datos() {
var usr = document.getElementById('nombre').value;
var pa = document.getElementById('pass').value
var ca = document.getElementById('caracteres').value;

           document.getElementById('informacion').innerHTML = "Datos del formulario" +"<br>"+
            "Nombre de usuario: " +usr
                + "<br>"+ "Clave usuario: " +pa
                     + "<br>"+ "El numero de caracteres de opinion es: " + ca;
                       document.getElementById('informacion').style.display="block";

          return false;

}
function formReset(){
document.getElementById("myForm").reset();

  }

       contenido_textarea = ""
       num_caracteres_permitidos = "";

function valida_longitud(){
num_caracteres = document.forms[0].texto.value.length

       if (num_caracteres > num_caracteres_permitidos){
          document.forms[0].texto.value = contenido_textarea
        
    }else{
  
          contenido_textarea = document.forms[0].texto.value

}

            if (num_caracteres >= num_caracteres_permitidos){
               
                document.forms[0].caracteres.style.color="#ff0000";
  
    }
           else{
  document.forms[0].caracteres.style.color="#000000";

}

        cuenta()

}
function cuenta(){
document.forms[0].caracteres.value=document.forms[0].texto.value.length
}

</script>

</head>

<body>

<body onload=document.formu.focus()>
<div id="contenedor">
<form id="myForm">
<h1>Pagina con un formulario</h1>
Teclee su nombre: <input type="text" id="nombre" autofocus><br>
DNI: <input type="text" maxlength="8" id="dni"> Letra:<input type="text" id="letra"><br>
Teclee su clave: <input type="password" id="pass"><br>
<form action="#" method="post">
Opine sobre mi pagina:<br><textarea maxlength="50" name="texto" onKeyDown="valida_longitud()" onKeyUp="valida_longitud()"></textarea><br>
Numero maximo de caracteres en el area de texto:<input type="text" id=caracteres size=4><br></form>
Indique si es mayor de edad:<input type="checkbox" id="si" value="si">Si<br>
Sexo: <input type="radio" name="sexo" value="Hombre">Hombre
<input type="radio" name="sexo" value="Mujer">Mujer<br>
Sueldo anual:<input type="radio" name="sueldo" value="10000">10000
<input type="radio" name="sueldo" value="10000Y20000">10000 Y 20000
<input type="radio" name="sueldo" value="Masde20000">Mas de 20000<br>
Envie un fichero:<input name="userfile" type="file"><br>
Indique su provincia <select name="prov">
<option>-</option>
<option value="Bizkaia">Bizkaia</option>
<option value="Zaragoza">Zaragoza</option>
<option value="Madrid">Madrid</option>
</select>Indique su hobbie
<SELECT NAME="hobbie" size="2">
<OPTION>chat</OPTION>
<OPTION>juegos</OPTION>
<OPTION>arte</OPTION><br>
<br><input type=button onclick="datos()" value="Enviar">
<input type="button" onclick="formReset()" value="Reset">

</form>

</SELECT>
</div>
<div id="informacion">

</div>

</body>

</html>

Gracias si alguien me puede ayudar!!

Lo edito para que sea mas legible....pero se vuelve a poner como estaba. Sorry.
Menudo lio tengo en el código...Gracias por si alguien se entera o sabe lo que quiero hacer.

B

mueve todo eso con las etiquetas de código para que sea mas legible please :)

N1Tr0s

y ten la decencia de leer lo que copias y pegas.
No queda bien que aparezca el numero de ejercicio y su puntuacion.

El codigo "formateado":

spoiler
1

Usuarios habituales