Jump to content
tiko165

Clicar numa imagem e alterar para outra enviando para BD

Recommended Posts

tiko165

Pretendia fazer uma função, mas não estou a conseguir enquadrar bem.

O que gostaria de fazer, era ter duas imagens, um com um "+" e outra com o "-".

E ao carregar no "+", fazia um Insert na BD, e nesse mesmo momento, alterava para a outra imagem.

Nesse outra imagem (o "-"), fazeria um Remove na BD, e voltava a alterar para o "+" e assim continuamente.

Sempre que fosse carregado nas imagens, fazia essa função, e alterava continuamente para a outra imagem

Eu tentei fazer algo do que pretendia, apresar de não ter ficado do meu pretendido, contudo peço aqui alguma ajuda.

*Se houver forma mais fácil de fazer com texto, também aceito, apesar de preferir imagem.

<script type="text/javascript">
function playpause(obj) {
var src = obj.src;
var alt = obj.alt

obj.src = obj.src== '/images/more.png'?
  '/images/less.png':
  '/images/more.png';
obj.alt = obj.alt== 'remove'?'add':'remove';
}
</script>

<img src="images/more.png" alt="add" onclick="playpause(this);" style="cursor:pointer" />

Edited by tiko165

collectioneuro300px.png

Share this post


Link to post
Share on other sites
tiko165

eu entendi vagamente o que qerias, mas nao entendi esse codigo que ai meteste :S

Eu so tentei, e coloquei este código para tentar mostrar melhor o que pretendo,

E acredito que não seja o melhor código para fazer o que quero.


collectioneuro300px.png

Share this post


Link to post
Share on other sites
Virneto

Aqui fica a minha proposta para o teu problema.

Eu não utilizaria qualquer imagem mas apenas '+' numa div com id="simbolo" e uma variável estilo "interruptor" ($simboloclick):

<div id="simbolo">+</div>

<script type="text/javascript">
$("#simbolo").click(function(){

if (simboloclik == false) {
  	 $("#simbolo").text("-");   /*muda o + para -  */
	/*faz o teu INSERT na BD com ajax*/
  	 simboloclik = true;
}
else {
  	 $("#simbolo").text("+");    /*muda o - para + */
   /*Vai à BD e REMOVE com ajax*/
  	 simboloclik = false;
 }
});
</script>

Edited by Virneto

"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
tiko165

Isso nem sequer esta a funcionar, e estive a tentar de outras formas, não estou a conseguir adequar conforme pretendo :confused:

*Pode ser na mesma com "texto", desnecessário as imagens


collectioneuro300px.png

Share this post


Link to post
Share on other sites
Virneto

Isso nem sequer esta a funcionar (...)

Desculpa lá, culpa minha! :(

simboloclik=false; /*faltava isto*/
$("#simbolo").click(function(){
	if (simboloclik == false) {  
	 $("#simbolo").text("-");   /*muda o + para -  */
			/*faz o teu INSERT na BD com ajax*/
	 simboloclik = true;
	}
	else {
	 $("#simbolo").text("+");	/*muda o - para + */
	   /*Vai à BD e REMOVE com ajax*/
	 simboloclik = false;
	 }
});

aqui o teste. http://jsfiddle.net/Virneto/KcsVK/


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
tiko165

Faltava-me o link do Jquery "jquery-1.9.1", e por essa mesma razão não me funcionava. Thanks

Agora a partir daqui vou tentar adequar ao que pretendo ;)

*** Da para colocar a ler um ficheiro php com com funções inserts e removes, entre o codigo do Javascript?

Isto funcionará?? document.write("<?php require('file.php'); ?>");

Edited by tiko165

collectioneuro300px.png

Share this post


Link to post
Share on other sites
Virneto

Isto funcionará?? document.write("<?php require('file.php'); ?>");

isto não funcionará porque o php corre no servidor, ou seja, antes de a página ser enviada ao host e antes do Javascript.

Para redirecionar fazes:

window.location = "teu url";

Ou também podes utilizar AJAX com o JQuery (como eu tinha sugerido no código comentado), pois seria mais transparente para o utilizador e não tens de recarregar a página.


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
tiko165

isto não funcionará porque o php corre no servidor, ou seja, antes de a página ser enviada ao host e antes do Javascript.

Para redirecionar fazes:

window.location = "teu url";

Ou também podes utilizar AJAX com o JQuery (como eu tinha sugerido no código comentado), pois seria mais transparente para o utilizador e não tens de recarregar a página.

O que eu pretendia mesmo fazer, era trocar de simbolo, enviar os dados para a BD, e não haver qualquer recarga de página.

Contudo, como ja tenho o site praticamente pronto (pois fiz-lo com links a recarregar página), poderá haver uma forma de faze-lo sem a tal recarga.


collectioneuro300px.png

Share this post


Link to post
Share on other sites
Pivot

.

Desnecessário isso, tiko...

Enfim...

Se tens alguma dúvida coloca, se não conseguiste resolver diz que erros obtens, se vieste para marcar ponto, é desnecessário...

Abraço,

Rafael.

Share this post


Link to post
Share on other sites
tiko165

Desnecessário isso, tiko...

Enfim...

Se tens alguma dúvida coloca, se não conseguiste resolver diz que erros obtens, se vieste para marcar ponto, é desnecessário...

Abraço,

Rafael.

Desculpem, erro meu... Não reparei que deixei este ponto aqui :s


collectioneuro300px.png

Share this post


Link to post
Share on other sites
Pivot

Desculpem, erro meu... Não reparei que deixei este ponto aqui :s

É que isso assim parece "gozo".

Já agora, problema resolvido?

Abraço,

Rafael.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.