Comunidad de diseño web y desarrollo en internet online

prototype.js y javascript no intrusivo

Citar            
MensajeEscrito el 17 Sep 2008 05:47 pm
Hola, no he topado ajax en algunos meses y ya me olvidado como hacer esto. Estoy usando prototype, y me acuerdo que era bastante sencillo.

Lo unico que quiero hacer es que al dar un click en un link cargue una pagina en un div. Esto no es el problema, lo que no me acuerdo es como hacer para que no sea intrusivo.

Ejemplo:
librerias

Código :

<script src="javascript/prototype.js" type="text/javascript"></script>
<script src="javascript/menu.js" type="text/javascript"></script>

links no intrusivo

Código :

<a id="crear_usuario" href="#" >Crear Usuarios</a>

la fomar intrusiva seria así, lo cual no quiero

Código :

<a id="crear_usuario" href="#" onclick="funcion()" >Crear Usuarios</a>


ahora en el menu.js he intentado de varias formas

Código :

function onclicks(){
   var x = $('crear_usuario');
   x.onclick = function() {
      alert("prueba");
   }
}

window.onload = onclicks();

Intente de otras formas pero todas con resultados iguales. Cual es la forma correcta?

Por ronin

53 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Sep 2008 05:49 pm
Me olvidaba, $('crear_usuario') siempre me retorna como null;

Por ronin

53 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Sep 2008 08:13 pm
Leyendo la documentacion y haciendo pruebas encontre esto

Código :

function onclicks(){
var t=$('crear_usuario');
t.onclick=function() {
alert("entro");
return false;
}
}

Event.observe(window, "load",onclicks, false);

Por ronin

53 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Sep 2008 09:14 pm
Sería mejor que utilizaras todas las herramientas disponibles en prototype y lo hicieras así

Código Javascript :

function onclicks(){
var t=$('crear_usuario');
t.observe( 'click', function() {
    alert("entro");
    event.stop();
    }
  );
}

Event.observe(window, "load",onclicks, false);

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 18 Sep 2008 08:13 pm
Gracias, te tenia unas preguntas,

Este era mi codigo inicial

Código :

function onclicks(){
   var t1 = $$('.menu_item');
   for(var i=0;i < t1.length; i++){
      t1[i].onclick=function() {
         var url = this;
         var pars = "";
         var myAjax = new Ajax.Updater( 'cuerpo', url, { method: "post", parameters: pars, evalScripts: true });   
         return false; // Anula el evento original
      } 
   }
}

Intente hacerle asi como me decias,

Código :

function onclicks(){
   var t1 = $$('.menu_item');
   for(var i=0;i < t1.length; i++){
      t1[i].observe( 'click', function() { 
          alert("entro"); 
          //event.stop(); 
          return false;
          } 
        ); 
   }
}

mas o menos, pero el problema es que cuando dan click en el link si avanza, antes como devolvia false, no hacia nada, solo se cargaba en el link. Parece que asi no devuelve el false.

Otra pregunta, porque es necesario el event.stop? Por si acaso si acaso intente con y sin el event stop, parece que no devuelve el false, pero si imprime el alert.

Por ronin

53 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Sep 2008 08:17 pm
Por cierto ahora le cambie a los links a que funcionen asi

Código :

<a href="pag/usuarios.php" class="menu_item" >Crear Usuarios</a>

Por ronin

53 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.