Ya que el amable señor que me ha contestado al teléfono de incidencias de Internet, me ha aconsejado que use Internet Explorer, ya que no podÃa completar mi compra con Firefox por un error R190, que ni el sabÃa que significaba, veo que en el encantador navegador que tanto debe admirar el grupo Indra, me sale la ventanita anunciándome que algunos elementos de la página no son seguros.

Bueno, yo soy programador, y se que los elementos que no se muestran bajo protocolo seguro serán algún iconito estúpido, pero … ¿qué sensación le puede quedar a todo el resto de los navegantes que no saben muy bien de qué va el mensaje? Si, si, a ese gran público que marcará la opción 1 en el teléfono de consultas que dice «pulse 1 si tiene problemas para imprimir el billete» …
Querida Renfe: ¿sabÃais que no te puedes autenticar como usuario si no haces una búsqueda? ¿sabÃais que vuestra página no cumple ningún standard y no puedes usarla bien con otros navegadores que no sean IE? ¿y que vuestro de sistema de captcha se puede saltar? Qué fácil es hacerse un pequeño programa que te avise cuando hay ofertas en los AVE hacia Zaragoza ;)
Y ahora, para los que sepan programar en Javascript … mirad alguna de las funcioncitas que me encuentro … de lujo oye :D
// ——————————–
// Comprueba si cadena es un número
// ——————————–
function esNumero(cadena)
{
// Si lo que recibe no es una cadena devuelve falso.
if (typeof(cadena) != «string»)
{
return false;
}if(cadena == «»)
{
return false;
}var numeros = «0123456789»
for(var i=0; i
Un poco más y crean una biblioteca para esta función ;) De estas hay un buen número de ellas, a cada cual más interesante por el código fuente de los 15 JS de 274K de código … ¡infumables!

Que puedo decir??
25 de septiembre de 2009Spain is different…
Madre mÃa, yo no sé de dónde sacan a más de uno. A mà me gusta la simplicidad. Lo harÃa tal que asÃ:
String.prototype.esNumero = function() {
return (parseInt(this, 10) == this);
}
Implementación:
(’10’).esNumero() // devuelve true;
(‘hola mundo’).esNumero(); // devuelve false
La única pega serÃa que habrÃa que pasar los enteros (si los hubiera) como cadenas de texto en vez de a pelo.
Por cierto, cómo mola el objeto prototype. :D
26 de septiembre de 2009¡Ah bueno!, que la función javascript echa por esa gente lo que hace precisamente es comprobar si una cadena de texto es un número. Entonces pega ninguna.
Quien quiera, si le parece útil, puede cogerme prestada la función.
26 de septiembre de 2009DoodoM tu solucion requiere añadir un «include» del framework prototype. No quiero decir que no compense (yo amo jquery) pero decir que tu harias la funcion asi…cuando ellos lo hacen a pelo y tu sobre un framework de javascript; no me parece la misma
26 de septiembre de 2009YoK3S3 No, En JavaScript se pueden extender los objetos nativos mediante los prototipos (String.prototype en este caso) de forma que TODAS las instancias de dicho objeto tengan también el método extendido. En este caso, todas las cadenas
Prototype, como framework, es precisamente eso lo que hace, y de ahà le viene el nombre.
Prueba a hacerlo por tu propia cuenta en un documento vacÃo, verás que funciona maravillosamente lo que ha dicho DoodoM.
De todas formas, DoodoM, podrÃas extender también el objeto Number con un metodo esNumero() que devuelva siempre true, y si nos ponemos tontos, extender otros tantos prototipos que devuelvan false. Es un poco cutre, pero bueno.
26 de septiembre de 2009Acabo de darme cuenta de una cosa: Esa función de DoodoM sólo devuelve TRUE si el número es ENTERO.
Que está bien pero si alguien la necesita para decimales también puede usar parseFloat() en lugar de parseInt():
String.prototype.esNumero = function() {
return (parseFloat(this) == this);
}
Mismo funcionamiento que la de DoodoM pero tambien valida los numeros decimales.
26 de septiembre de 2009@YoK3S3 Yo al principio cometÃa la misma equivocación que tú, y como dice Darkhogg, el framework Prototype recibe el nombre precisamente de estos objetos.
@Darkhogg Pues sÃ, se podrÃan añadir algunas comprobaciones adicionales. ¿Pero si ya hace lo que se necesita para qué complicarlo más?
26 de septiembre de 2009@Darkhogg Cierto es, comprueba si son números enteros, pero tampoco vendrÃa mal que comprobara si son números con decimales. Gracias por tu aporte.
26 de septiembre de 2009Ãlex, ¿podrÃas explicar un poco cómo es el programa que te avisa cuando hay ofertas? Siento curiosidad ;-) Gracias
26 de septiembre de 2009neyo, si sabes PHP y simular envÃos POST, son 10 lÃneas :P
26 de septiembre de 2009Accenture, no digo más.
28 de septiembre de 2009Que complicación a mi me va lo sencillo
if((document.form2.Esnumero.value == «») ||(http://www.w3schools.com/jsref/jsref_isNaN.asp(document.form2.Esnumero.value)))
{
alert(«Esto no es un número Chavalito»);
document.form2.Esnumero.focus();
return false;
Para empaquetar en una función al gusto
En este caso es tan fácil como usar la función isNaN
http://www.w3schools.com/jsref/jsref_isNaN.asp
30 de septiembre de 2009Alex, son 10 lÃneas incluyendo saltarse el capcha? alguna librerÃa habrá que usar para conseguir saltarselo supongo¿no? tampoco me he puesto a estudiar el asunto…
30 de septiembre de 2009Yo con la página de Renfe voy con mucho cuidadito. El explorer sólo le uso para ella y para algunas oficiales que me fallan con Firefox. Y con cuidado desactivo el bloqueador de ventanas, y en cuanto tengo el pdf con los billetes lo guardo por lo que pueda pasar.
¡Todas las precauciones son pocas!
¡Qué cruz!
30 de septiembre de 2009Un par de vÃdeos sobre errores que presenta la web de Renfe:
Errores web: Renfe y los nombres de las ciudades
Errores web: Renfe y las fechas
11 de octubre de 2011