Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Inside

[Resolvido] Adicionar sem trocar de página ou reload

Recommended Posts

Caros amigos,

 

tenho um sistema básico aqui de currículos e quando faço a pesquisa posso adicionar um currículo em uma lista de favoritos clicando no link, ex.: add.asp?id=1.

 

Acontece que quando clico para adicionar perco a pesquisa.

 

Existe alguma forma de adicionar sem que vá para outra página, e sem dar reload na página?

 

 

Obrigado pela atenção de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá para fazer usando AJAX.

 

Para coisas assim eu uso umas funções.


// JavaScript Document
function GetXMLHttp() { 
if(navigator.appName == "Microsoft Internet Explorer") { 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} else { 
xmlHttp = new XMLHttpRequest(); 
}     
return xmlHttp; 
} 
var xmlRequest = GetXMLHttp(); 

function abrirPag(valor){ 
var url = valor; 
xmlRequest.open("GET", url, true); 
xmlRequest.onreadystatechange = mudancaEstado; 
xmlRequest.send(null); 
if (xmlRequest.readyState == 1) { 
	document.getElementById("centro").innerHTML = "<p align='center'><br /><br /><img src='images/ajax.gif' /></p>";
} 
return url; 
return(false);
} 

function mudancaEstado(){ 
if (xmlRequest.readyState == 4){ 
	document.getElementById("centro").innerHTML = xmlRequest.responseText; 
}
}

 

 

Onde está "CENTRO" é o nome da Div que você pode usar para carregar os curriculos adicionados.

Dae para chamar você faz:

 

<a href='#' onclick="abrirPag('add.asp?id=11')"/>Adicionar</a>

 

Dae na página você faz o processo normal de inserir e pronto.

Nem dá Refresh na página!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você também pode armazenar em uma variavel de session, para se garantir, caso algo de errado, mas o JQuery é a solução perfeita para isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros amigos,

 

e essa solução do Justin Bieber? (rs) Ela não funciona?

 

e onde posso achar um exemplo jQuery?

 

Obrigado pela atenção de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro amigo Justin, eu ia testar mas realmente não testei. Perdoe-me, vou fazer isto agora, mas só não entendi a DIV "centro".

Compartilhar este post


Link para o post
Compartilhar em outros sites

A DIV centro é a DIV onde você irá carregar a página que vai fazer seu insert. Centro é só o ID da div, se quiser mudar pode mudar, mas nao esqueça de trocar na função JavaScript tbm no Document.GetElementByID().

 

Crie uma página que vá fazer o insert. Coloca o link com seus devidos parametros(id do curriculo) da página como parametro da funcao AbrirPag. Dae na página do insert você pega o valor do parametro ou ID do curriculo, $_GET, joga no insert e pronto.

 

Como te mostrei no exemplo que postei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai Justin,

 

funcionou , muito obrigado.

 

Agora sem querer ser exigente tem como o script dar um mensagem na página? Tipo: Adicionado! Mas sem ser alerta, somente html.

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode depois do insert um echo "Adicionado!". Dae vai aparecer na Div centro.

 

você pode carregar uma página dentro da Div entende. Uma página. Pode por o que quiser nela que vai carregar.

 

Ou você cria um objeto na tela onde você quer que apareça a mensagem. Declare um ID pra este objeto, tipo id='mensagem'. Pode ser um <P>, um <span> ou até uma <DIV>

 

Dae nessa função você acrescenta aquela segunda linha no If.

function mudancaEstado(){ 
       if (xmlRequest.readyState == 4){ 
               document.getElementById("centro").innerHTML = xmlRequest.responseText; 
               document.getElementById("mensagem").innerHTML = "Adicionado"; 
       }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas é pra aparecer e ficar.

 

O que você fez na página do Insert ?

 

Cara,desculpa, no post acima eu Falei ECHO... achando que tava no forum de PHP.

USHAUHS

 

Mas é ASP, Response.Write, Corrigindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim resolveu agora coloquei o response.write.

 

 

Muito obrigado pela ajuda, creio que o tópico irá ajudar a muitos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.