Foros del Web » Creando para Internet » HTML »

Validar código JavaScript

Estas en el tema de Validar código JavaScript en el foro de HTML en Foros del Web. Hola a todos. ¿Alguien sabe por qué este código da errores de validación? Código HTML: <?xml version= "1.0" encoding= "iso-8859-1" ?> <!DOCTYPE html PUBLIC "-//WC3//DTD ...
  #1 (permalink)  
Antiguo 17/06/2004, 06:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Validar código JavaScript

Hola a todos.

¿Alguien sabe por qué este código da errores de validación?
Código HTML:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//WC3//DTD HTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Untitled Document</title>

<script language="JavaScript" type="text/javascript">
function final() {
	document.write('<select>');
	document.write('<option>opcion</option>');
	document.write('</select>');
}
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000" onload="final()">
</body>
</html> 
Los errores son en las siguientes líneas:

document.write('<select>')
document.write('<select>');
document.write('<option>opcion</option>');

Gracias por vuestra ayuda. Saludos,
  #2 (permalink)  
Antiguo 17/06/2004, 06:11
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 15 años, 1 mes
Puntos: 4
¿A qué te refieres con que te da error de validación?

Lo he probado y no pasa nada.

No sé, tú me dirás.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 17/06/2004, 06:18
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Hola, Bravenap. Gracias por contestar.

Cuanto tiempo sin coincidir. Veo que sigues tan rápido como siempre.

Me refiero a que no valida como página xhtml, en el validador de la w3c:

http://validator.w3.org/

Aprobecho para comentar que he seguido trasteando con el código. Si cambio los < por &lt; y los > por &gt; pasa la validación pero, claro, el código JavaScript no funciona como debiera funcionar.

Gracias de nuevo. Saludos,
  #4 (permalink)  
Antiguo 17/06/2004, 06:33
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.547
Antigüedad: 15 años, 8 meses
Puntos: 1262
Hola JavierB y Bravenap (¡tanto tiempo sin rondar por aquí... !)

Lo que pasa es que no se validan los scripts...

Si pones el script en un fichero js aparte la validación la pasa bien.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 17/06/2004, 06:37
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 15 años, 1 mes
Puntos: 4
Cita:
Iniciado por JavierB
Cuanto tiempo sin coincidir.
Efectivamente, mucho tiempo. Me alegro de verte.

Pues precisamente por estar bastante tiempo apartado estoy un poco pez y lo del XHTML me ha pillado por sorpresa. A ver si me pongo las pilas, porque esto de estar a muchos palos a la vez ....

Siento no poder ayudarte.

Por cierto, he leido tu firma, y es algo que me corroía desde hace tiempo. A ver si se traduce en medidas efectivas en el foro. Sería mejor para todos.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #6 (permalink)  
Antiguo 17/06/2004, 06:45
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Te la validará como html 4.0 que es lo que tienes puesto en el DTD

No sé si en esa versión es así, pero al menos para validar en xhtml 1.0 no pueden existir los tags de script tal como los tienes, si no que deben ser para indicar un src a un js externo
  #7 (permalink)  
Antiguo 17/06/2004, 06:59
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Hola a todos. Gracias por vuestra colaboración:

tunait y caricatos: lo de poner el código en un archivo externo ya "me se" había ocurrido, pero como me ha dado por enredar, me entretengo haciendo pruebas. Además no parece que sea ese el problema porque este otro script no da problemas:
Código HTML:
<script language="JavaScript" type="text/javascript">
function final() {
	document.write('Hola a todos,');
	document.write(' gracias por');
	document.write(' vuestra ayuda');
}
</script> 
Lo que parece que no le gusta es que se metan tags html en el código JavaScript.

Bravenap: veo que has adoptado mi firma Me alegro de que te haya gustado.

Gracias otra vez. Saludos,
  #8 (permalink)  
Antiguo 17/06/2004, 11:16
 
Fecha de Ingreso: mayo-2004
Mensajes: 13
Antigüedad: 13 años, 6 meses
Puntos: 0
Saludos, yo soy bastante nuevo por aki, asi q no os digo eso de cuanto tiempo sin vernos, prueba este truco a ver si t funciona:


Código:
<script language="JavaScript" type="text/javascript">
function final() {
	document.write('<sel'+'ect>');
	document.write('<opt'+'ion>opcion</opt'+'ion>');
	document.write('</sel'+'ect>');
}
</script>
de esta manera no encontrara tags y deberia interpretarlos igual el navegador, yo no lo he probado, q haya suerte
  #9 (permalink)  
Antiguo 17/06/2004, 11:18
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 5 meses
Puntos: 2
no sera por eso

<!DOCTYPE html PUBLIC "-//WC3//DTD HTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

A que lo quieres validar a xhtml stric o transitional
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #10 (permalink)  
Antiguo 17/06/2004, 11:53
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 13 años, 9 meses
Puntos: 63
Hola

Respecto al script, basta con que utilices los caracteres de comentario correspondientes al html, es decir

<!-- y //-->

De esa forma tanto los validadores como los navegadores no tratan de interpretar el código como si fuera html.

Pero en el ejemplo que pones, si solo comentas el código del script, lo único que logras es un extraño mensaje del w3c diciendo que no valida la página por los siguentes motivos:

...

(ninguno)

!!!

Así que habría que seguir revisando el código.

Al seguir revisándolo, vemos que hay una inconsistencia en la DTD, primero dices que es html y luego llamas a la dtd de xhtml 1, lo cual, nota enseguida el validador, por lo tanto debería quedarte así:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
en vez de:

Código:
<!DOCTYPE html PUBLIC "-//WC3//DTD HTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Cambiando eso, hasta validaría como xhtml 1.0 strict.

Suerte

Felicidad
__________________
¡ hey, hou, hou, hey !
  #11 (permalink)  
Antiguo 17/06/2004, 11:55
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Hola.

WackyWorm: el truco parecía interesante, pero no ha colado en el validador.

Gerald: no entiendo lo que me quieres decir

Gracias a los dos de todas formas. Creo que la mejor solución será, como ya se dijo antes, meter el código en un .js y dejarse de líos.

Saludos,
  #12 (permalink)  
Antiguo 17/06/2004, 12:21
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Hola, PatomaS.

Has dado en el clavo

Comentando el código JavaScript ya valida bien, incluso dejando el DTD como yo lo tenía, aunque es más lógico ponerlo como has puesto tú.

He cometido ese error por abusar del copy&paste y no fijarme en lo que copio. Si me hubiera fijado tampoco me habría dado cuenta porque he empezado a aplicarme en estas cosas hace poco. De echo lo copié de maestrosdelweb:

http://www.maestrosdelweb.com/editorial/haciaxhtml/

voy a ver si puedo hacerles llegar la corrección de alguna forma.

Gracias de nuevo. Saludos,
  #13 (permalink)  
Antiguo 17/06/2004, 17:09
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 13 años, 9 meses
Puntos: 63
Hola

Bueno además acabo de ver una cosita más...

Antes me extrañó que aunque la página estaba bien hecha, no veía nada en ella...

Yo utilizo Firefox

¿sabes porque no veía nada?

...

Porque «final» es una palabra reservada en JavaScript, no tiene uso actualmente (creo), pero se prevee que lo tenga en futuras versiones, por lo tanto, navegadores estrictos como los que utilizan el motor gecko, no muestran el contenido de tu función.

;)

Felicidad
__________________
¡ hey, hou, hou, hey !
  #14 (permalink)  
Antiguo 18/06/2004, 04:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
¿Por qué hay tantas palabras reservadas? ¿por qué no ponen end? ¿por qué nos complican tanto la vida?

Gracias PatomaS. Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:24.