Foros del Web » Programando para Internet » Javascript »

Pregunta básica

Estas en el tema de Pregunta básica en el foro de Javascript en Foros del Web. Hola forer@s, disculpen mi ignorancia, se que lo que voy a preguntar es básico, pero he buscado y probado y no le doy al clavo ...
  #1 (permalink)  
Antiguo 08/09/2010, 12:52
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Pregunta básica

Hola forer@s, disculpen mi ignorancia, se que lo que voy a preguntar es básico, pero he buscado y probado y no le doy al clavo y la verdad es que soy nueva en javascript.

Bueno ahi les va, tengo mi index.php donde, entre el head pongo:

Código HTML:
<script src="../CIByR/js/valida_rpe.js" type="text/javascript"></script> 
despues entre el bodu tengo un form:

Código HTML:
<form name="frpe" action="<?php echo $_SERVER['PHP_SELF'];?>" method="get" onSubmit="return valida_rpe(this.form)">
	RPE: <input type="text" name="rpe" size="7" maxlength="5" />
	<input type='submit' value='Buscar' name='Buscar' onclick="valida_rpe()">
</form> 
y despues esta el js que se llama valida_rpe.js

Código:
<script>
	function valida_rpe(){
		try{
			var texto=document.frpe.rpe.value;
			var tamtext=texto.length;
			if (tamtext!=5 && tamtext!=0){
				if (tamtext==1)
					alert("Por favor, ingrese un RPE válido.");
				else
					alert("Por favor, ingrese un RPE válido.");
				return false;
			}
			else
				return true;		
		}
		catch(err){
  		txt="Ha ocurrido un error en la página\n"; 
			txt+="Error: " + err.description + "\n";
			txt+="Continue dando clic en \"OK\".\n\n";
			alert(txt);
		}
	}
</script>
El caso es que si pongo el script entre el head si me realiza la validacion, pero si lo saco a otro archivo y solo lo mando a llamar entre el head ya no hace nada...

Algo falta pero no se que es... Gracias por la ayuda que puedan darme
  #2 (permalink)  
Antiguo 08/09/2010, 13:00
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Pregunta básica

En un archivo .js no se debe poner <script> y </script>, ¿podrías ser ese el error?
Saludos :D
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 08/09/2010, 13:00
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Pregunta básica

Tal y como llamas al archivo externo:

<script src="../CIByR/js/valida_rpe.js" type="text/javascript"></script>

Debería de ejecutarse el script en cuanto la página empezara a cargarse...El problema está en que en el archivo .js no tienes que incluir las etiquetas <script> y </script>, sino sólamente dejar el código tal cual. Ten en cuenta que el contenido de ese archivo es puramente JavaScript, y no HTML ;)

Un saludo
  #4 (permalink)  
Antiguo 08/09/2010, 13:01
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Pregunta básica

Aarrggh Cronos te me has adelantado por medio segundo XDD
  #5 (permalink)  
Antiguo 08/09/2010, 13:20
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
De acuerdo Respuesta: Pregunta básica

Muchas Gracias!!!

Ya funciona

que pena, yo pensado que me hacia falta algo en la funcion o al mandarla a llamar y que cosas!! me sobraba otra, jejeje.

Gracias chicos
  #6 (permalink)  
Antiguo 08/09/2010, 13:40
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: Pregunta básica

Hola, aqui de nuevo dando lata, es que ahora si valida y todo perfecto, el problema viene cuando manda este alert("Por favor, ingrese un RPE válido."); que no me reconoce el acento y al poner en el mismo index si lo reconoce y al sacarlo al js no lo reconoce y lo pone como un cuadrito ¬¬

Alguna solucion para esto?????
  #7 (permalink)  
Antiguo 08/09/2010, 13:49
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Pregunta básica

Errrrm... creo, y digo creo, que tiene que ver con la codificación del documento, es decir, que hay que poner utf-8, pero al venir de un archivo externo puede haber conflictos, pero yo no sé mucho, por no decir nada de esto, a ver si alguien puede responderte. En el foro de HTML no hace mucho que se trató este tema, busca por allí a ver si te orientas.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #8 (permalink)  
Antiguo 08/09/2010, 13:52
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Pregunta básica

lo mas seguro es que tienes dos codificaciones distintas. es decir, la codificacion de index.php es distinta al documento js. solucion, en el elemento <script> indica la codificacion con el atributo charset.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 08/09/2010, 14:06
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Pregunta Respuesta: Pregunta básica

Cita:
Iniciado por zerokilled Ver Mensaje
lo mas seguro es que tienes dos codificaciones distintas. es decir, la codificacion de index.php es distinta al documento js. solucion, en el elemento <script> indica la codificacion con el atributo charset.
O.o
mi codificacion del index tengo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<meta http-equiv="Content-Language" content="es" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

y el archivo .js no tengo nada solo la funcion, es decir, empieza con

function valida_rpe(){
y termina con }

como hago eso del charset y donde ??

donde lo llamo asi:

<script src="../CIByR/js/valida_rpe.js" type="text/javascript"></script>
?????
  #10 (permalink)  
Antiguo 08/09/2010, 14:10
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Pregunta básica

la codificacion a indicar en <script> tiene que ser la misma que has indicado al crear el document js. otra forma de solucionarlo, simplemente codifica el documento js en la misma codificacion de index.php, o sea, utf-8. de esta forma no tienes que indicar el charset en el elemento <script>. para definir el charset, lo define como cualquier otro atributo html, dentro de la etiqueta <script ... >. o sea, de la misma forma que defines src y type.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 08/09/2010, 14:16
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: Pregunta básica

será mucho abusar de tu nobleza si me poner un ejemplo???
  #12 (permalink)  
Antiguo 08/09/2010, 14:24
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Pregunta básica

Cita:
Iniciado por catpaw
será mucho abusar de tu nobleza si me poner un ejemplo???
¡en verdad que si! veamos, solo mostrare un pseudo-codigo...
Código:
<elemento atributo="valor">...</elemento>
el valor a asignar depende de la codificacion indicada al crear el documento js y eso solamente lo sabes tu -por favor, no me pidas que te indique cual es el valor-. si no quieres enredarte con el atributo, realiza la otra opcion que antes indique.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #13 (permalink)  
Antiguo 08/09/2010, 17:38
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Pregunta básica

Simplemente guarda el archivo .js con la codificación utf-8. En el editor de texto que estés utilizando, selecciona "Guardar como..." como si lo fueras a guardar con otro nombre. Debajo del cuadro para introducir el nombre del archivo, debería salir otro cuadro para que elijas la codificación. Es una lista desplegable, selecciona utf-8 (o Unicode, que es lo mismo) y a ver si tienes suerte =)
  #14 (permalink)  
Antiguo 08/09/2010, 17:50
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Pregunta básica

Cita:
Iniciado por dersir
[...] selecciona utf-8 (o Unicode, que es lo mismo) [...]
no es lo mismo unicode y utf-8 ni produce el mismo resultado. aca puedes leer un poco mas acerca de las codificaciones. por lo general, la opcion Unicode de los editores de texto utilizan utf-16.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #15 (permalink)  
Antiguo 08/09/2010, 18:49
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: Pregunta básica

ok dersir probare y les digo... Gracias

Tambien ya vi lo del charset, por si las dudas tambien lo agrego a la etiqueta script asi:

<script src="../CIByR/js/valida_rpe.js" type="text/javascript" charset="UTF-8"></script>

Gracias!!
  #16 (permalink)  
Antiguo 08/09/2010, 19:47
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Pregunta básica

Cita:
Iniciado por zerokilled Ver Mensaje
no es lo mismo unicode y utf-8 ni produce el mismo resultado. aca puedes leer un poco mas acerca de las codificaciones. por lo general, la opcion Unicode de los editores de texto utilizan utf-16.
Lo sé, pero muchas veces los editores de texto no especifican UNICODE-8 sino simplemente UNICODE, aunque se refieren al 8. Por no liar más de la cuenta lo he puesto así, y también he supuesto que si se encuentra con la opción UNICODE-8 pensará "¡Ah, esto será aquello a lo que se refería el del foro!" de forma que igualmente le sería de ayuda
  #17 (permalink)  
Antiguo 08/09/2010, 20:02
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: Pregunta básica

ok, fijate que ya probe guardandolo de nuevo como me dijiste (asegurandome de la codificacion) y ademas agregue el charset a la etiqueta script, lo probe y ya sale bien el acento XD

igual no esta demás leer de que rayos trata esto de las codificaciones, jejeje

Gracias desir
  #18 (permalink)  
Antiguo 08/09/2010, 20:13
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Pregunta básica

si sigues el enlace que antes mostre, te encontraras con un tema que se discutio recientemente referente a la codificaciones. en él, otros dos compañeros compartieron dos articulos que explica mas o menos el tema de las codificaciones. puedes comenzar por ahi.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #19 (permalink)  
Antiguo 08/09/2010, 20:31
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: Pregunta básica

ok gracias XD

Etiquetas: Ninguno
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 19:46.