Chamar Javascript dentro do Prototype
Olá.
Muitas vezes precisamos invocar métodos javascripts dentro de páginas de vieram de uma chamada AJAX. Como utilizo o Prototype e Scriptaculous, quebrei um pouco a cabeça por falta de atenção. Muitas pessoas também tiveram esse pequeno erro por não utilizar corretamente o framework.
Na verdade é bem simples, é apenas um parametro da chamada.
Por exemplo, temos este cenário:
- Um chamada em Ajax
- A página que será exibida precisa envocar alguma coisa da própria página. Própria dela
- Após está chamada, o método não precisa ficar disponÃvel para outras funções.
Temos o seguinte código
<script type="text/javascript">
window.onload = function(){
listaSubmit = function()
{
$('listagem').innerHTML = '<p id="carregando" align="center"><img src="imagens/ajax-loader.gif" />Carregando';
var target = 'listagem'; //target div
var url = 'listagem.php'; //url to processor
var pars = Form.serialize('ordenacao');
var myAjax = new Ajax.Updater(target, url, {asynchronous:true, method:'post', parameters:pars, evalScripts:true, onComplete: aparecer() });
}
}
</script>
Viram na variável myAjax a opção evalScripts: true. É ela que faz a mágica e a que eu estava esquecendo. Agora dentro de listagem.php, você pode tranquilamente fazer chamadas javascripts sem problemas
