[su_wiloke_sc_company_website]De nuevo vuelvo a tener problemas con la página de Renfe, y es que, una Web dentro de un proyecto de tantos millones de euros y donde se ha despilfarrado el dinero de tal manera, tiene que dar problemas básicos, ya que si no, no sería una web «made by dinero del pueblo».
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