To com um problemão.
Tenho que fazer uma página de pesquisa com filtros e um botão de pesquisa que ao ser clicado, deve fazer a busca e reenderizar apenas o DIV do resultado. Setei o TARGET para o div do resultado, mas quando mando pesquisar, minha página mostra uma cópia inteira de si própria (banners, filtros, resultado) dentro do DIV.
Eu queria que apenas o DIV de resultado fosse reenderizado. Como fazer? Estou usando o lugin JQueryFrom para fazer o submit da página.
Declaração do método ajax
function submeter(){
var options = {
target: "#divResultado",
url: "http://localhost:8081/teste/pesquisar.action",
success: showResponse
};
$("#formPesquisar").ajaxSubmit(options);
return false;
}
function showResponse(responseText, statusText){
$("#tableResultado").trigger("update").tablesorterPager({container: $("#pager")});
}
Dei uma olhada no livro, mas não achei o que quero. Achei como reenderizar o target com outra página JSP ou substituí-lo por trechos em HTML. Meu problema é que não gostaria de escrever um trecho de HTML relativo à tabela de resultado da minha pesquisa. Isso ficaria confuso para o programador.
Entendo o que você quis dizer, mas na verdade não quero apenas mostrar “Mensagem enviada com sucesso!” ou “Registro cadasdrado”. Minha página possui um HTML inicial com minha “DIV” de resultado mostrando apenas as colunas da “table” que vai tabular o resultado da pesquisa. Após retornar do servidor, esse HTML mudou! Já é outro! No entanto trata-se da mesma página. Eu quero pegar esse HTML de retorno e dizer para ele alterar apenas a “div” de resultado e não colocar mensagens, outro JSP ou mesmo repetir a página inteira(banner, menus, botões) dentro na minha “div” que setei como TARGET.
Eu entendi e o comando é o mesmo, a diferença é que vc deve passar a sua nova página no lugar da mensagem, inclusive utilizo muito esta prática.
Segue um exemplo de onde eu mudo um div especifico por uma página com conteudo diferente.
PedidoLookup.carregarTelaCalculoDesconto(parametros, function (data) { // chamada AJAX ao DWR
$("#painel1").html(data); // a nova pagina(data) sera carregada no div painel1.
});
$("#divResultado").load(‘PesquisarPessoa.jsp #divResultado’);
$("#divResultado") informa o target, ou seja, aquilo que será atualizado.
PesquisarPessoa.jsp indica a página a ser carregada. No retorno do método, a página é retornada inteira.
O parametro #divResultado serve filtrar apenas a parte que vc deseja da página e que será usada para atualizar o target.