Funciones javascript en ficheros js

Mira esta linea:

evaluar=(objeto.tagname.toUpperCase()==="INPUT" && objeto.type.toUpperCase()==="CHECKBOX");

if (evaluar) {

.....

}

Si el objeto html que se está leyendo es un checkbox, realizará las acciones del "if" siguiente.

Sin embargo si meto esas lineas en una función tal que:

function es_checkbox(pObjeto){

evaluar=(pobjeto.tagname.toUpperCase()==="INPUT" && pobjeto.type.toUpperCase()==="CHECKBOX");

return evaluar;

y evidentemente la llamo como:

evaluar=es_checkbox(objeto);

no termina de funcionar bien, esa función está en un fichero aparte que se incorpora al inicio de la página. Con un script:

<script language=... Type=... Src='funciones_js.js'></script>

¿Alguna idea?

Gracias.

1 Respuesta

Respuesta
1

Puede ser provocado por múltiples factores, desde que en vez de tres iguales utilices 2 ==

Que el tipo de elemento realmente no corresponda, hasta que las propiedades que estés utilizando no estén bien escritas como tagName en vez de tagname etc.

¿Tienes el error de la consola javascript para poder ver que nos dice el navegador al respecto?

No, no lo tengo.

Lo de los signos iguales "==" o "===", es como sabes, el de 3, para indicar igualdad absoluta, o sea tanto en el dato como en el tipo:

3==="3", seria false, ya que son de diferente tipo

3=="3", seria true, ya que son valores iguales, javascript por lo que tengo entendido con "==" hace conversión de tipos.

Lo de estar mal o bien escrito, olvídate, está bien, ya que sino no funcionaria ni en un sitio ni en otro, y si que funciona cuando no está incluido como función.

Lo de la consola, no lo suelo mirar ... lo mirare a ver ...

Entiendo muy bien para que sirven los tres signos iguales === el problema es que puede en este caso existir alguna respuesta en donde te retorne una referencia y no un string como estas esperando evaluar y eso genere que no entre en el bloque condicional que estas utilizando, por eso realizaba esta consulta.

Por lo de la consola, tiene que ser tu primera herramienta a mano ya que es vital saber el porque está fallando el programa.

Te recomiendo el complemento firebug de mozilla firefox para poder desarrollar, te ayudará mucho en todas las áreas del desarrollo web.

Hola.

He seguido tu consejo y ahora miro mas la "Consola de errores" que viene con el Mozilla, he visto alguna cosilla que me ayuda a corregir parte del código, respecto a la pregunta que nos ocupa en este hilo, no he mirado nada, ya que anunlando / quitando el toUpperCase() funciona. No es una prioridad; de mirarlo lo miraré, pero lo haré cuando haya solucionado otras cosas de mayor prioridad.

Saludos y gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas