He creado un archivo xhtml que contiene un javascript para validar con el netbeans. El caso es que lo pruebo con el firefox y el XHTML aparece, pero no me sale el cuadro amarillo de arriba que indica la activacion del javascript.
En el mozilla tengo instaladas herramientas de verificacion de xhtml, con el HTML Tidy y el Total Validator que me dicen que el codigo que he implementado esta correcto. Del javascript tambien tengo una herramienta llamada web developer que me dice que el javascritpt no tiene ningun error.
Pero ni se me activa el cuadro javascript, (a pesar de que el firefox tengo por defecto activado el javascript), ni cuando pulso el boton enviar me sale nada.
Agradeceria que alguien me echara una mano.
Os pongo el codigo del xhtml y del javascript debajo:
Código HTML:
<html> <head> <title>Control de acceso</title> <script type="text/javascript" src="Validacion.js"> </script> </head> <body> <h1> Identificacion mediante el NIF </h1> <form id="frmAcceso" name="frmAcceso" method="get" action="http://google.es"> <table> <tr> <td> DNI: </td> <td> <input type="text" id="txtDni" name="txtDni" /> </td> <td> Letra: </td> <td> <select id="sLetra" name="sLetra"> <option id="A" value="A" selected="selected"> A </option> ...... <option id="Z" value="Z" selected="selected" > Z </option> </select> </td> </tr> <tr> <td> <input type="button" id="enviar" name="enviar" value="ENVIAR" onclick="validate()" /> </td> <td> <input type="reset" id="borrar" name="borrar" value="BORRAR" /> </td> </tr> </table> </form> </body> </html>
Codigo del javascript:
function validate() {
if(noEntry(document.frmAcceso.txtDni) == false) return;
if(noLetras(document.frmAcceso.txtDni) == false) return;
if(calcularLetra()== false) return;
if(esNegativo(document.frmAcceso.txtDni)== false) return;
document.frmAcceso.submit();
}
function noEntry(field) {
var mt=field.value;
if (mt.length<1) {
confirm("Completar el campo txtDNI");
field.focus();
return false;
}
else
{
return true;
}
}
function noLetras(field)
{
var valid = "0123456789";
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i,i+1);
if (valid.indexOf(temp) == "-1") ok="no";
}
if (ok == "no") {
confirm("Teclear un DNI (sin letras, solo numeros)");
field.focus();
field.select();
return false;
}
else
return true;
}
function calcularLetra()
{
cadena ="TRWAGMYFPDXBNJZSQVHLCKE";
var numero=document.frmAcceso.txtDni.value;
var resultado=numero%23;
letra=cadena.charAt(resultado);
if (letra != document.frmAcceso.sLetra.value)
{
confirm("La letra del NIF es incorrecta. Seleccionar la letra " +letra);
return false;
}
else
{
return true;
}
}
function esNegativo(field)
{
if (field.value <0)
{
confirm("El dni es negativo, por favor cambialo");
return false;
}
else
return true;
}
S2!