Comboboxes Dinamicas ( Ajax )

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Comboboxes Dinamicas ( Ajax )

Mensagempor PapaGigas » Quinta Ago 28, 2008 8:37

Boas,

Alguem com conhecimentos de Ajax que me possa ajudar a criar "comboboxes dinamicas" ( exemplo )? :roll:

PS - Preciso de criar um "configurador" semelhante ao do exemplo, mas sou um noob do caraças no que toca a esta matéria... :P
If I offended you in anyway, please don't take it personally... it's not your fault you're an idiot!
PapaGigas
Gurus
Gurus
 
Mensagens: 4337
Registado: Sexta Out 22, 2004 2:54
Localização: Marrocos

Mensagempor Triple » Quinta Ago 28, 2008 13:14

8O

Ainda ontem tive de fazer uma cena igual para um cliente, e o cliente mandou-me essa pagina como exemplo também.

Epah é bastante facil, eu fiz o seguinte, colocas um formulario dentro de uma div (atribui um id a esta div) com as comboboxes todas vazias, tirando a da base do sistema que deve ter já Intel e AMD por defeito, depois utilizas o evento onchange do objecto, e colocas uma função que utilize XMLHttpRequest para enviar a opção escolhida na base para um file PHP (ou ASP) e retornar resposta listando na combobox do CPU todos os CPUs da loja com a base escolhida (Intel ou AMD) no que retornar a combobox dos CPUs também ja deve ter função para retornar motherboards do mesmo socket que o CPU escolhido e etc.

Boa sorte, qualquer coisa diz.

Cumps
Triple
Membro de Ouro
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor PapaGigas » Sexta Ago 29, 2008 0:41

Triple Escreveu:qualquer coisa diz.


Obrigado pela resposta, mas agradecia que (se não te importares) colocasses aqui o código de exemplo "com comentários"... :roll:

PS - Desta forma cria-se já uma especie de mini-tut visto que é um tema de grande procura (não sou o unico a ter este "problema", lol)... ;)
If I offended you in anyway, please don't take it personally... it's not your fault you're an idiot!
PapaGigas
Gurus
Gurus
 
Mensagens: 4337
Registado: Sexta Out 22, 2004 2:54
Localização: Marrocos

Mensagempor Triple » Sexta Ago 29, 2008 12:29

Código: Seleccionar todos
function carregarConfiguradorField(field, value, base, cpu) {
   try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
      try {
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
         xmlhttp = false;
      }
   }
   
   if  (!xmlhttp && typeof  XMLHttpRequest != 'undefined' ) {
      try  {
         xmlhttp = new  XMLHttpRequest();
      } catch  (e) {
         xmlhttp = false ;
      }
   }
   xmlhttp.open("post", "./configurador.opts.php", true);
   var params = "field="+field+"&value="+value+"&base="+base+"&cpu="+cpu;
   xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   xmlhttp.setRequestHeader("Content-length", params.length);
   xmlhttp.setRequestHeader("Connection", "close");
   xmlhttp.send(params);
   xmlhttp.onreadystatechange = function(){
      document.getElementById('configurador').innerHTML = xmlhttp.responseText;
   }
}


Ai tens, essa função envia o valor escolhido na combox (value) e envia para o ficheiro configurador.opts.php que retorna as novas comboboxes sem ser necessário um reload da pagina, para destinguir os campos tens o variavel field e no evento onchange do CPU precisas de passar a base escolhida anteriormente e na motherboard o CPU escolhido anteriormente. Parametros CPU e base, opcionais.

Cumps
Triple
Membro de Ouro
Membro de Ouro
 
Mensagens: 650
Registado: Sexta Jun 24, 2005 14:27

Mensagempor Mr_coelho » Sábado Set 06, 2008 21:28

Avatar do Utilizador
Mr_coelho
Membro de Ouro
Membro de Ouro
 
Mensagens: 763
Registado: Terça Set 09, 2003 19:00
Localização: Portugal


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 2 visitantes

cron