jQuery Form plugin does not send XMLHttpRequest value

Hi all…

Here we are, again.

This will be a quick post, just for warning in a specific case. When you’re using the jQuery Form plugin by malsup.com you are making an AJAX call, but it does not send some variables that identify a XMLHttpRequest (in my case I’m using the plugin with a upload form).

Continue reading jQuery Form plugin does not send XMLHttpRequest value

Using live function instead of bind with jQuery

Hi all,

Sometimes a big part of an application uses AJAX to get content. When getting new content we get new events, already declared in the webapp. For example:

$(function(){  
    $('a.class1').bind('click', function(){  
        // code here  
    });  
});

If the new content (via AJAX) has a link with class1 class, it won’t call this javascript code, because the click event was previously declared.

So, the solution is use live function instead of bind. When using the live function, the new inserted content will be updated to use the declared javascript events. So it’s better to use live.

$(function(){  
    $('a.class1').live('click', function(){  
        // code here  
    });  
});

Thanks!

setTimeOut para chamadas Ajax utilizando onKeyUp e jQuery

Boa tarde, pessoal!

Utilizar onKeyUp para fazer chamadas Ajax é bem interessante, melhorando e muito a experiência do usuário com o sistema, de maneira que os resultados da pesquisa vão aparecendo na medida que ele pressiona as teclas no teclado. Porém, imagine, a cada tecla que o usuário pressiona é uma chamada Ajax na aplicação, o que pode reduzir em performance e aumentar a utilização de banda.

Sendo assim, uma opção é esperar o usuário parar de digitar por um tempinho para então pesquisar via Ajax. Pode parecer voltar no tempo, mas o intervalo é tão pequeno (na ordem de 500 milisegundos) que nem dá pra perceber direito. Além do mais nada impede que coloquemos 250 milisegundos ou menos. Para isso vamos usar as funções setTimeOut e clearInterval.

var interval = 0; 

$(function()  
{  
    $('#query').keyup(function()  
    {  
        // começa a contar o tempo  
        clearInterval(interval); 

        // 500ms após o usuário parar de digitar a função é chamada  
        interval = window.setTimeout(function(){  
            // sua chamada ajax e demais códigos  
        }, 500);  
    });  
}

É isso aí pessoal! Espero ter sisdo claro! Até a próxima!