Ir para conteúdo

POWERED BY:

Arquivado

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

Igor Pereira

[Resolvido] variavel php como parametro para AJAX.

Recommended Posts

Olá galera,

Estou fazendo um uma página onde, do lado esquerdo fica os titulos da enquete, e do lado direito uma div que apareca a pagina (enquete.php) logicamente com o conteudo da enquete. a ideia é o usuario clicar na pergunta do lado esquerdo, e no lado direito aparecer a pergunta e suas respostas dinamicamente.

 

Problema: preciso passar a a id da pergunta como parametro por ajax.

 

o codigo abaixo lista as perguntas do lado esquerdo.

<a href="#" id="<?php echo $linha["id"]; ?>" ><?php echo $linha["questao"]; ?></a> </p>

 

pesquisando um pouco sobre o AJAX achei uma funcao q talvez poderia me ajudar

 

$(document).ready(function() {
$("input[type=button]").click(function(event) {
	var id = $(this).attr("a");
	$("#box").load('enquete.php',{acc:id});
});
});

 

mas ainda nao consegui. enfim, a idéia é clicar no link, sem recarregar a página aparecer a enquete do lado direito de acordo com o parametro do link. AJUDA?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<a href="#<?php echo $linha["id"]; ?>" id="enviar" ><?php echo $linha["questao"]; ?></a>

 

 

$(document).ready(function() {
$("a#enviar").click(function( e ) {
               e.preventDefault();
               var href = $( this ).attr('href');
	$.ajax({
                      //leia a documentação e implemente aqui, enviando a variavel href
               });
});
});

http://api.jquery.com/jQuery.ajax/

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO! Obrigado Willian, Abaixo segue a solucao para outros que tenham a mesma dúvida.

 

// Links para chamar determinado evento
<a href="#<?php echo $linha["id"]; ?>" id="enviar" ><?php echo $linha["ques"]; ?></a>

 

Funcao AJAX e JQUERY:

 

$(document).ready(function() {
       $("a#enviar").click(function( e ) {
               e.preventDefault();
               var href = $( this ).attr('href');
               $.ajax({


                    cache: false,
	             success: function(html){
  	             $("#EnqueteContainer").load("enquete.php",{acc:href}); // recarrega o script com o evento e o parametro passado via o link
 }

               });
       });
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. ou você usa o $.ajax(), ou você usa o .load()

 

escolha um dos dois.

e atente que você não está enviando o parâmetro.

 

esqueça o .load() e releia o manual do $.ajax() para fazer corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei usar o $.ajax () assim com o exemplo abaixo. mas ....

$.ajax({ 
  type: "POST", 
  url: "enquete.php", 
  data: "id=href", // ?? é assim mesmo para passar o parametro?
  success: ??? // funcao para recarregar a pagina na div. usei o append, e aparecei uma enquete debaixo d outra, e nao recarregando.
  } 
});

 

usando o load() o parametro até foi enviado mas foi assim ex: id = #9 (nao consigo extrair o #).

Compartilhar este post


Link para o post
Compartilhar em outros sites

success: function( data ){
   $("#EnqueteContainer").html( data );
}

 

para remover o #, basta manipular a string.

 

.replace() e pronto.

javascript básico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora foi ....

 

$(document).ready(function() {
       $("a#enviar").click(function( e ) {
               e.preventDefault();
               var id = $( this ).attr('href');
               $.ajax({
                    cache: false,
					type: "POST", 
 					 url: "enquete.php", 
  					data: {id : id}, // ?? é assim mesmo para passar o parametro?
  					success: function( data ){
				    $("#EnqueteContainer").html( data );
				}


               });
       });
});

 

O replace usei o str_replace do php mesmo ;) ehehe Igor muito muito fraco em JS

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.