Mostrando entradas con la etiqueta js. Mostrar todas las entradas
Mostrando entradas con la etiqueta js. Mostrar todas las entradas

viernes, 5 de diciembre de 2014

WordPress - Realizar peticion ajax

Realizar llamadas AJAX en WordPress es muy sencillo, tenemos mil maneras, pero la que me parece mas correcta es la siguiente:
  1. En nuestro functions.php pegaremos lo siguiente:
  2. add_action('wp_ajax_nopriv_my_function', 'ajax_my_function');
    add_action('wp_ajax_my_function', 'ajax_my_function');
    function ajax_my_function(){
        //El codigo que se ejecutara en la llamada AJAX
        exit;
    }

sábado, 15 de marzo de 2014

Como redondear un decimal, mostrando solo el numero de decimales que necesitemos - JavaScript

Si decidimos sacar por pantalla un numero decimal resultante de alguna operación en JS lo mas seguro es que nos salga un chorro de números al estilo
9.99789047...

Lo cual esta claro rara vez nos va a interesar para controlarlo podemos guardar ese numero en una variable

numFloat = 9.99789047;

y mostrar el numero con los decimales que nos interesa, redondeado al siguiente si la primera cifra que vamos a ocultar es mayor a 5 por ejemplo

alert (numFloat.toFixed(2));

nos dará un mensaje emergente con un 10.00 ya que solo queremos mostrar 2 decimales y 9.997 el 7 es mayor a 5 así que el siguiente 9 se redondea al inmediato superior lo cual nos lleva a 10.00

si hiciéramos la siguiente operación

numFloat = 10/3;

nos daría 3.3333

lo cual redondeandolo

alert (numFloat.toFixed(2));

tendremos un alert con 3.33

Espero os sirva de utilidad

Fuente: http://www.w3schools.com/jsref/jsref_tofixed.asp

miércoles, 26 de febrero de 2014

Función para obtener un parametro pasado por la URL - JS

El otro día no tuve que recoger un parámetro en concreto de la URL por Java Script, sabia que lo había hecho antes, pero no recordaba como.

Así que mirando proyectos antiguos me encontré con esta función, que va a la perfección

    function getParam(nombre){
        name = nombre.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
        var regexS = "[\\?&]"+nombre+"=([^&#]*)";
        var regex = new RegExp( regexS );
        var resultados = regex.exec( window.location.href );
        if( resultados == null ){
            return "";
        }else {
            return resultados[1];
        }
    }

Tan solo hay que invocarla y pasarle el String del cual queremos recuperar los datos que tenemos en nuestra URL

Espero os sirva de ayuda

viernes, 10 de enero de 2014

Funciones matemáticas - JS

Aquí os dejo una lista de los métodos matemáticos y sus descripciones disponibles en Java Script

MethodDescription
abs(x)Devuelve el valor Absoluto de x
acos(x)Devuelve el Arco-coseno de x, en radianes
asin(x)Devuelve el Arco-seno de x, en radianes
atan(x)Devuelve el Arco-coseno de x, es un número entre -PI/2 y PI/2 radianes
atan2(y,x)Devuelve el arcotangente del cociente de los valores
ceil(x)Devuelve el valor de x redondeado al siguiente Entero
cos(x)Devuelve el coseno de x, que debe pasarse en Radianes
exp(x)Devuelve el valor de E elevado a X
floor(x)Devuelve x, redondeado hacia abajo al Entero mas cercano
log(x)Devuelve el Logaritmo normal con base E del valor pasado
max(x,y,z,...,n)Devuelve el valor mas alto de los pasados
min(x,y,z,...,n)Devuelve el valor mas bajo de los pasados
pow(x,y)Devuelve el valor de x a la potencia de y
random()Devuelve un numero aleatorio entre 0 y 1
round(x)Redonde al Entero mas cercano
sin(x)Devuelve el Seno de x, que debe pasarse en radianes
sqrt(x)Devuelve la raiz cuadrada de x
tan(x)Devuelve la tangente del angulo pasado
Documento original:

jueves, 31 de octubre de 2013

JQuery - Elegir una opción de un select por el texto

Cuando tenemos un select del tipo:

<select id="select">
<option value="1">soy el primero</option>
<option value="2">soy el Segundo</option>
</select>

Por diversas razones puede que necesitemos cambiar su valor por JQuery y tan solo dispongamos del texto, pues aquí os dejo la solución ;)

        value= "soy el Segundo";
        $("#select").find("option").filter(function(index) {
            return value === $(this).text();
        }).prop("selected", "selected");

martes, 9 de abril de 2013

Error: Permission denied to access property 'toString' en Firefox

El mensaje de error:
-Error: Permission denied to access property 'toString'
en la consola de firebug en firefox parece ser provocado por el plugin del page rank

Segun: http://www.sinplanes.com/articulo/web/solucionar-error-permission-denied-to-access-property-tostring-en-firefox este error es debido a algun plugin instalado en firefox, yo hoy me he encontrado con el y buscando el por que, he llegado a esa pagina, lo cual me ha llevado a probar la web en otro ordenador con un firefox sin plugin, aparte que el firebug, y sin un solo error, mientras que en el que tengo el firebug, y el page rank da ese error. seguramente esten accediendo a alguna variable con el mismo nombre o alguna cosa asi, ya que en otras webs, con programacionsimilar no me da ningun error

domingo, 24 de marzo de 2013

Validación web Internet explorer

Seguramente todos los que alguna vez hemos programado algo para web nos hemos encontrado mil problemas al intentar hacerlo funcionar en todos los navegadores (si sabéis por donde voy, funciona en todos "safari, chrome, firefox..." pero en IE falla), pues bien dejando a un lado de momento las hojas de estilo css, voy a hablaros de un problema que me encontré este mismo viernes, al hacer una aplicación HTML5 con canvas y java Script.
La programo y pruebo en local, pruebo en todos los navegadores de verdad y funciona a la perfección  la pruebo en IE y sorpresa, ni carga, abro la consola de errores y me encuentro con que Internet Explorer 9 me dice que no reconoce addEventListener para los mas novatos en JS (yo me incluyo) Internet explorer hasta su versión 9 no incluía dicho método de JS, pero hacia lo mismo, o por lo menos a su modo con el método attachEvent sabemos lo especialito que es y lo que le gusta ponernos las cosas sencillas por lo que siempre teníamos que hacer un JS para IE y otro para el resto del mundo, o usar JQuery; pero parece que se están dando cuenta de que así no se va a ningún lado y lo están unificando por esta razón a partir de la versión 9 de IE lo han incluido; el caso, Internet explorer me decía que no lo reconocía  mi primera impresión fue, que bien... IE no soporta HTML5 y empece a googlear, había quien daba unos códigos JS que añadían funcionalidad a versiones antiguas de IE, pero que en la versión 9 y posteriores funcionaba HTML5, incluso leí que el W3C dice que IE9 es el que mejor soporta HTML5 con una tabla comparativa con el resto de navegadores.
Lo cual me dejo claro que mi aplicación debía correr en IE9 y empece abusar sobre ese error, aunque sin fortuna, pensé en cambiar el método por el de toda la vida de IE, pero lo usaba principalmente en una librería ajena, que aunque disponía del código abierto, era muy grande como para recorrermela entera y cambiarlo haciéndolo valido en todos los navegadores, pensé que si los fabricantes de la librería decían que eran validos para aplicaciones en HTML5 para todos los navegadores y tenían ejemplos sus ejemplos fallarían al igual que el mio, pero fue así  por lo que si sus aplicaciones funcionaban y la mía fallaba estaba claro que era un problema en mi código, me lo recorrí entero buscando errores, no vi nada del otro mundo, y menos que pudiera originar ese curioso error, ¿¿por que Internet explorer me decía que no reconocía un método que si debe reconocer?? Apunto de desistir pensando que seria algo de configuración de mi ordenador, le pedí a un compañero que lo probara, y os garantizo que no usa nunca el IE por lo que lo tenia por defecto, y también le fallaba a el, así que mi gozo en un pozo era fallo mio en la programación  seguí probando; en la consola de errores de IE (eso que los de Microsoft llaman herramientas de desarrollo, eso mismo que aparece al pulsar F12) vi que te dejan seleccionar distintos modos de compatibilidad, para emular distintos navegadores, probé todos los disponibles, IE9  IE8, IE7, vista de compatibilidad de IE9  pero con todos ellos el mismo error, al cabo de un rato de comerme la cabeza volví a comparar mi código con el de los ejemplos de los fabricantes de la librería, y me di cuenta que justo al lado de donde seleccionas el modo de navegador

en los ejemplos de los fabricantes salia como en la imagen superior, es decir, modo documentos estándares IE9, en mi aplicación, me salia NO ESTÁNDAR así que por fin encontré una diferencia!! el problema tenia que estar hay, cambie esa opción a estándares de IE9 y sorpresa!! mi aplicación empezó a correr, ahora solo tenia que encontrar el modo de que eso me saliera por defecto, algún tipo de configuración debía haber para decirle a IE que cumplía sus estándares  o por lo menos que intentaba cumplirlos, una vez mas revise el código de ejemplo de esta gente, y no encontré nada, al cabo de un rato en la misma herramienta para desarrolladores cerré todos los nodos del código de mi aplicación e hice lo propio con el de la aplicación de ejemplo, vi una pequeña diferencia, ellos tenían una linea mas encima de todo el código de la aplicación la cual yo no tenia la puse y premio!! todo funcionando.

--SOLUCIÓN--
Esa linea es ni mas ni menos que <!DOCTYPE html> al copiar el código de la estructura principal de la web o no se en que momento, debí de eliminarlo accidentalmente  pero gracias a ello se que si no lo pones IE hace cosas raras, mientras que el resto de navegadores se comporta como si si estuviera, creo que no se me volverá a olvidar copiarlo, espero que esto le sirva a alguien que se olvide de escribirlo, o cometa el error de eliminarlo accidentalmente