Ir para conteúdo

POWERED BY:

Arquivado

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

ThinkBrunus

[Resolvido] Não escreve response.Text

Recommended Posts

Bom dia!

 

No seguimento da dificuldade em solucionar o tópico post http://forum.imasters.com.br/index.php?/topic/354307-preenchimento-4-combos-dinamicas/, tentei outra alternativa, optando por utilizar AJAX.

 

Agora tou com dificuldade em escrever os resultados obtidos num select, para terem uma ideia estou a tentar o seguinte:

 

teste.js

function changeClasse(){
xmlHttp = getXmlHttpObject(); //inicializa variável com identificação do browser
var classe = encodeURI(document.getElementById('combo_classe').value);
nocache = Math.random();
	xmlHttp.open("GET", "/admin/arquivo/teste.php?classe="+classe+"&nocache="+nocache);	
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState == 4) {	
			alert (xmlHttp.responseText);
			document.getElementById("combo_subclasse").innerHTML = xmlHttp.responseText;
		}
	}
xmlHttp.send(null);
}

response.php

$sql = "SELECT * FROM subclasse WHERE id_classe='".$_GET['classe']."'";
	$query = mysql_query($sql) or die(mysql_error());
		if (mysql_num_rows($query) == 0){
			echo '<option value="0">Sem subclasses!</option>';
		} else {	
				while ($rs = mysql_fetch_assoc($query)){
					echo '<option value="' . $rs['id_subclasse']. '">' . $rs['designacao']. '</option>';
				}
		}

Pretendo quando seja alterado o combo_classe, seja actualizado a combo_subclasse. Fiz um alert do responseText e ele apresenta os valores correcto, apenas não os escreve na combo!

O código parece-me estar correcto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Viva!

 

Indicaram-me que alterasse:

document.getElementById("combo_subclasse").innerHTML = xmlHttp.responseText;

para:

document.getElementById("combo_subclasse").outerHTML = "<select id=\"combo_subclasse\" name=\"combo_subclasse\">"+xmlHttp.responseText+"</select>";

Assim fica a funcionar!

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.