Recent twitter entries...

  •  

El tinymce elimina mis etiquetas style

Posted by | Posted in html, javascript | Posted on 12-04-2012

0

Hoy me he encontrado ante este problema…

Tengo una serie de datos que tienen unos estilos (<style>blablabla</style>). Sí, se que es algo muy sucio, pero los necesito porque resulta que lo que estoy tocando son plantillas para mails, y como todos sabemos, es necesario que tengan dentro del mail todos los estilos.

Y os preguntaréis donde está el problema…. y es que cuando editaba las plantillas mediante el tinymce me eliminaba todo lo que hubiera entre dichas etiquetas.

Cómo se soluciona:

Simplemente añadiendo dentro del tinyMCE.init la línea

valid_children : "+body[style]"

El problema tenía lugar como se explica aquí debido a que las etiquetas style no son válidas en XHML, y por ello el TinyMCE deshabilita la posibilidad de ponerlos.

Aquí podéis ver otra url con información.

Problemas con el livequery de jquery

Posted by | Posted in javascript, jQuery | Posted on 28-01-2011

0

Hoy traigo la solución a un problema que me ha traido de cabeza la última hora, y es que utilizaba jquery, y más concretamente la sentencia livequery para que cada vez que me intentara llamar a una página que comenzara con http y contuviera sort: o bien page: me hiciera una llamada ajax.


En el ordenador de un amigo le funcionaba a la perfección, pero en mi caso me daba problemas. Rebuscando caí en este lugar, y vi que sustituyendo el livequery por live ya funcionaba.

Cómo limitar el tamaño de texto en un textarea

Posted by | Posted in javascript | Posted on 08-12-2010

0

Hoy por hoy no hay ninguna propiedad maxlength para las textareas, y por ello nos veremos obligados a recurrir a crear estos componentes de la siguiente forma:


Básicamente lo que hacemos mediante esta función de javascript es que cuando se pasa el número de alfanuméricos de MaxLen se impedirá cualquier acción mediante teclado exceptuando las de suprimir, eliminar y moverte por el texto

Captcha visual para cakePHP

Posted by | Posted in CakePHP, jQuery | Posted on 09-09-2010

0

Hola a todos, hoy vamos a integrar un componente captcha en un proyecto de cakePHP. Es cierto que hay dos o tres por la red, pero la peculiaridad de este es que es un captcha totalmente visual (podéis ver aquí el ejemplo, recordad que tenéis que rellenar los dos campos):

Es decir que tendremos que arrastrar en el caso superior mediante el ratón el reloj desde donde está hasta el círculo quedando de la siguiente forma para que pueda continuarse adecuadamente…

Pasos a seguir:

1- En la función del controlador donde queramos utilizarlo añadimos las siguientes líneas de código

/*Para el captcha*/
$rand = rand(0,4);
$_SESSION['captcha'] = $rand;
$this->set('rand',$rand);



2- En la función del controlador donde queramos recibir los datos incluiremos estas líneas:

/* this compare captcha's number from POST and SESSION */
if($_SERVER['REQUEST_METHOD'] == "POST" && $this->data['captcha'] && $this->data['captcha'] == $_SESSION['captcha']){
        /* this line makes session free, we recommend you to keep it */
        unset($_SESSION['captcha']);
} elseif($_SERVER['REQUEST_METHOD'] == "POST" && !$this->data['captcha']){
       // Aquí redireccionaremos a donde queramos que vaya en
       // este caso erróneo
       $this->redirect('/');
}



3-En la vista(en mi caso en la plantilla) añadimos las siguientes líneas en el header

<link rel="stylesheet" href="/css/captcha.css" type="text/css" />

<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="/js/jquery.captcha.js"></script>

<?php if(isset($rand)){
   echo '<script type="text/javascript">
      $j(function() {
        $j(".ajax-fc-container").captcha({
          url: '.$rand.',
          borderColor: "silver",
          text: "Arrastra <span>scissors</span> al círculo.",
          formId:"formulario" //aquí el id del formulario
        });
      });
    </script>';
}?>



4-Dentro de la vista donde queramos que se dibuje el captcha añadiremos las siguientes líneas (así de sencillo!!)

<!-- Begin of captcha -->
<div class="ajax-fc-container">You must enable javascript to see captcha here!
</div>
<!-- End of captcha -->



5-Para que funcione será necesario copiar los archivos siguientes en las carpetas que indicamos:

  • captcha.css en la carpeta webroot/css.
  • Las imágenes que se encuentran en la carpeta imgs del zip en la carpeta webroot/imgs (son 13 imágenes, entre ellas están las imágenes entre las cuáles será necesario escoger)
  • Los archivos iepngfix.htcjquery-1.3.2.min.js, jquery-ui-1.7.2.custom.min.js y jquery.captcha.js en la carpeta webroot/js.

6-(Opcional)Modificar la línea 37 del archivo jquery.captcha.js para cambiar el name del input que se generará name=\”data[captcha]\”


Aquí os dejo dichos archivos para que os los descarguéis. Dejar claro también que este componente no lo cree yo, sino estos señores, sólo me he limitado a adaptarlo a cakePHP y a explicar cómo se utiliza en español ;)

jQuery – Cómo poder mover y redimensionar una imagen al mismo tiempo

Posted by | Posted in javascript, jQuery | Posted on 31-08-2010

2

Me he encontrado con un problema en mis inicios de jquery: quería poder redimensionar una imagen y al mismo tiempo también quería tener la posibilidad de moverla por la pantalla.

Utilizando el archivo de jquery.ui me las prometía muy felices, ya que simplemente creía que poniendo una de estas dos opciones funcionaría:

  1. $(“.nombreClase”).resizable().draggable();
  2. $(“.nombreClase”).resizable();$(“.nombreClase”).draggable();

Ahora puedo decir que ninguna de las dos anteriores funciona, es necesario separar estas dos acciones.

La solución válida será pues la siguiente:

  • $(“.movible”).resizable().parent().draggable();

Y nada más, me vuelvo a enfrascar en el trabajo XD

Nota: Esta web fue la que me mostró el buen camino!!