Entradas

Mostrando las entradas etiquetadas como javascript

Como saber que versión de Jquery tenemos

Muchas veces me he preguntado que versión de JQuery tengo en mis proyectos (despues de mucho tiempo uno se olvida de cual bajo)  bueno la forma  es bastante sencilla es simplemente con una una instrucción que la puedes llamar de Firebug o simplemente con un alert. $.fn.jquery; o jQuery.fn.jquery; y retornará un string con la versión en mi caso -->""1.11.0" -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Problema de posicionamiento de calendario DHTML con Internet Explorer

Si bien personalmente me da lo mismo  que sea vea bien en internet explorer, los clientes no piensan igual :(. En el proyecto en el cual trabajo en mi trabajo, tenemos el calendario de http://www.dynarch.com/ . y nos encontramos con el problema que en IE, cuando la pagina tiene scroll, no determina bien la posicion. buscando por ahi llegamos a esto. tuvimos que cambiar la forma de leer el scroll. tenia estas lineas, mas menos en la linea 1393 del archivo calendar.js. if (Calendar.is_ie) { br.y += document.body.scrollTop; br.x += document.body.scrollLeft; } else { br.y += window.scrollY; br.x += window.scrollX; } y la dejamos asi ahora. if (Calendar.is_ie) { br.y += window.scrollY; br.x += window.scrollX; } else { br.y += window.scrollY; br.x += window.scrollX; } Claramente es if, no tiene sentido, pero lo deje con unos comentarios en svn, para saber que toque algo ahi en ese codigo :D. -- Atte. Victor Hugo Saavedra http://vhspiceros....

Selinium & UpdatePanel[WaitForXXXXXX]

Selenium , es una aplicacion para hacer test automaticos, simula  acciones de usuarios en un navegador. mas adelante me metere mas en lo que es selinum y ventajas de usar una herramienta como esta. Bueno en selenium tenemos varios comandos. por el ejemplo el type, click, typeAndWait, ClickAndWait. bueno la direferencia entre el clickAndWait y click es que el AndWait espera que se recarge la pagina. Pero con los update panels no recarga la pagina completa, entonces no me sirve  un click ni tampoco un clickAndWait. En  Selinium Existe la forma de que quede esperando una accion "WaitForXXXXX" , por ejemplo podemos decirle a selenium que espere a que un elemento este habilidado, esto es super bueno si tenemos peteciones http  asincronicas y despues de esto habilitamos un control.  pero con los updatepanel, no siempre hay una accion visible atravez del un control[amenos que pongamos el tipico div de "Cargando"]. Entonces existe el comando WaitForCondicion, donde uno ...

Select dinamicos de Pais/Regiones/Ciudad/Comunas con php y javascript

el ejemplo esta aqui siempre se pide en todos lados general select anidados, de que si se seleciona x pais el combo de ciudades tiene que llenarse dependiendo del pais. Aqui hice un ejemplo con php, javascript usando mochikit, y Json . el codigo es totalmente reutilizable, aspectos importantes: - En header.php esta la coneccion a la DB. - Se uso json_encode para formar un arreglo de json por cada fila. esto ya es una funcion nativa en las ultimas versiones de php. - Se generan elementos html dinamicamente con javascript. usando mochikit. - Se conectan con mochkit los select, al momento de hacer onchange, mediante signal. Aqui esta el codigo <?php require_once ("header.php"); $arregloPaises = array(); $arregloRegiones = array(); $arregloCiudades = array(); $arregloComunas = array(); $query_paises = "select idpais as id, descripcion as nombre from paises"; $query_regiones = "select id as id, descripcion as nombre ,idpais ...

Haciendo Drag & Drop con Mochikit

Hacer drag & drop con mochikit , es relativamente facil. Hace unos dias hice un ejemplo bastante sencillo. y con pocas lineas de javascript podia hacer que se arastratan unos divs o lo que sean hacia otro div. El planteamiento para hacer esto es, hay que crear uno o mas elementos Draggable , y por otra parte crear elementos Droppable aqui definimos todos los elementos que puede permitir tener esta seccion[esta discriminacion la hace por la clase CSS asignada]. Y despues simplemente lo conectamos, nuestras funciones para que cree los elementos al cargar la pagina, en mochikit esto se hace con addLoadEvent . Aqui dejo el codigo, el codigo casi habla por si solo. addLoadEvent(function (){ createDrag(); createDrop(); }); function createDrag(){ var arreglo = getElementsByTagAndClassName(null,"draggable"); for (var i = 0;i < arreglo.length;i++){ new Draggable(arreglo[i],{revert:true, handle: false, starteffect: MochiKit.Visual.Opacity, ...

Doblandole la mano a los updatePanels de AjaxcontrolToolkit y javascript

Tenia que hacer que un texbox de .net se vieran y escribieran con mayuscula. Hasta ningun problema, con css se puede hacer sin problema, y al momento de guardar en la DB hago un Uppercase, y estoy listo dije yo. Hice una pequeña funcion , en javascript que lo hiciera, por que no eran textbox nativos ni de html ni de webform, eran de webform ya extendidos. function changeUpperCaseCss(){ var textBox= $(' '); textBox.style.textTransform = 'uppercase'; } listo, ahora solo me quedaba conectar el elemento en el onload, de la siguiente forma con mochikit. addLoadEvent( function (){ changeUpperCaseCss(); } ); Funcionaba todo de maravilla, pero el problema el maldito updatePanel, cada vez que se refrescaba el panel, se perdia o refrescaba el texbox, entonces perdia la propiedad textTransform que le habia puesto con javascript. para solucionar esto tuve que usar el javascr...

Replace all en Javascript

Hace unos días trate de ayudar con algo muy simple en Javascript y me encontre con la sorpresa que la funcion nativa de replace de javascript solo remplaza la primera coincidencia y no sigue buscando en el string(y por ende tampoco remplazando. Por lo que aqui hicimos una pequeña funcion de forma recursiva para reemplazar todas las ocurrencias en un String. El ejemplo en particular era que teniamos que sacar todos los puntos de un numero. >>>replaceAll("123.345.567", ".", "" ); >>"123345567" -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

"function is not defined" en Firefox

Bueno el titulo no dice mucho verdad. lo que pasa es lo siguiente por ejemplo tengo la siguiente funcion en x archivo, por ejemplo "script.js" function foo(bar){ alert(bar); return bar; } hasta ahi todo bien, es una funcion toda muy simple(de hecho no tiene ningun sentido. incluyo el archivo a mi pagina y en explorer funciona bien. pero en firefox me dice "foo is not defined ". Este problema lo he visto por lo menos un par de veces. la forma de incluir el archivo en la pagina esta <script language="javascript" type="text/jscript" src="script.js"></script> cuando deberia ser : <script language="javascript" type="text/javascript" src="script.js"></script> lo mismo si queremos definir la funcion en la misma pagina <script language="javascript" type="text/javascript"> function foo(bar){ alert(bar); return bar; } </script> JScript != ...

Agregar Javascript desde un masterPage (Ruta Relativa)

Cual les la dificaltad de esto. basicamente son las rutas. ya que si una pagina ucupa un masterPage, la ruta es de la pagina no del master page, es decir podemos tener n paginas que cuelgan del mismo masterPage sin importar la ruta en la que se encuentrar. Primero, en nuestra clase de nuestro masterPage debemos incluir un atribito publico. public string urlStript = string .Empty; Luego en el page load buscamos la url, real donde se encuentre, cosa de que nos encuentre la ruta relativa del recurso. urlStript = ResolveClientUrl( "~/Resources/scripts/urlStript .js" ); Y por ultimo simplemente incluimos en el aspx(master page) el script. < script language = "javascript" type = "text/javascript" src = "<%# urlStript %>" > < / script > La principal ventaje de esto, es que solo tenemos que el incluir nuestros js solo una vez, o una vez por masterPage que tengamos. CSS: para los Css el tratamiento es muy distinto uno solo agrega e...

doblandole un poco la mano a los updatePanel

como muchos ya saben yo uso mochikit (me acomoda bastante). tuve que hacer un un javascript para cuando carga la pagina. aumentar el tamaño de un iframe, todo bien hasta ahi: addLoadEvent(function(){ try { var alto = parent.parent.window._altoContent; alert(alto); alto = alto -20; $( "myFrame" ).style.height = alto+ "px" ; } catch (e){ logError(e); } }); addLoadEvent : viene de mochikit, esto ejecuta las instrucciones cuando todo el contenido de la pagina ha sigo cargado. como dije hace un rato todo bien, la cosa es que se estaba usando un menu que contenia un updatePanel y el iframe estaba dentro de este updatePanel. Aqui dejo un script como script de como intersectar una llamada y termino de una llamada de un updatePanel: Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle); Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endR...

Accediando al contenido de un Iframe

Siempre me e preguntado como podemos acceder mediante javascript al dom, de un documento cargado en un iframe, aqui les dejo una funcion function getDocFrame(idFrame){ var myIFrame = document.getElementById(idFrame); return myIFrame.contentWindow.document; } de esta forma llamamos a la funcion con el id del iframe y ya modemos trabajar con el contenido de esta forma doc = getDocFrame(idFrame); doc.getElementById("myid").value="hola"; //o directamente getDocFrame(idFrame).getElementById("myid").value="hola"; -- Atte. Victor Hugo Saavedra

Redefinir getElementById

muchas veces mi se me olvida cuales son en mayusculas y cuales en minusculas. por eso defini la funcion "$" que es lo mismo que "document.getElementById", de hecho internamente lo llama. $ = function (id){ return document.getElementById(id) } si no les gusta con el $, pueden colocar el nombre que quieran getElement = function (id){ return document.getElementById(id)} OJO: que para los que usan mochikit, estas funciones ya estan definidas, con el mismo fin, es decir, ya son un document.getElementById. -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

trim javascript??

Existe alguna función nativa de javascript que haga un trim?  Yo busque y busque y no paso nada, no pude encontrar una función que le saque los espacios al final y al inicio de un string aquí dejo una función que hace eso con expresiones regulares. function ltrim(s) { return s.replace(/^\s+/, ""); } function rtrim(s) { return s.replace(/\s+$/, ""); } function trim(s) { return rtrim(ltrim(s)); } --  Atte. Victor Hugo Saavedra  http://vhspiceros.blogspot.com

JSON?

JSON(JavaScript Object Notation) es una forma de escribir objetos en javascript. es muy util por ejemplo para trabajar con ajax. Vamos por el principio, aquí hay un pequeño ejemplo de como hacer un objeto, (aun que javascript no es orientado a objetos), un pequeño ejemplo: var persona1 ={'nombre':'Victor Hugo Saavedra','telefono':'9999999','edad':'24'} var persona2 ={'nombre':'Victor','telefono':'888888','edad':'20'} después para acceder a esto es como en casi todos los lenguajes objeto punto atributo persona1.nombre /* devuelve "Victor Hugo Saavedra"*/ persona2.nombre /* devuelve "Victor" */ persona1.edad /* devuelve "24" */ esto uno lo propria asignar a variables o hacer lo que uno quiera pero ejemplo: alert("las personas son:"+ persona1.nombre + " - " + persona2.nombre); ademas en la mayoría de los lenguajes tienes funciones para enc...