delaruvi 0 Denunciar post Postado Outubro 19, 2007 Ola pessoal td certo? Estou seguindo esse tutorial do imasters http://www.imasters.com.br/artigo/3918/jav...os_sem_refresh/ tipo estou só que não esta dando muito certo as alterações que fiz no script para que ele funcione conforme minhas necessidades. Alguém pode me ajudar o script está ai: index.php <script language="JavaScript"> function Dados(valor) { //verifica se o browser tem suporte a ajax try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch(ex) { try { ajax = new XMLHttpRequest(); } catch(exc) { alert("Esse browser não tem recursos para uso do Ajax"); ajax = null; } } } //se tiver suporte ajax if(ajax) { //deixa apenas o elemento 1 no option, os outros são excluídos document.forms[0].id_marca.options.length = 1; idOpcao = document.getElementById("opcoes"); ajax.open("POST", "marcas.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.onreadystatechange = function() { //enquanto estiver processando...emite a msg de carregando if(ajax.readyState == 1) { idOpcao.innerHTML = "Carregando...!"; } //após ser processado - chama função processXML que vai varrer os dados if(ajax.readyState == 4 ) { if(ajax.responseXML) { processXML(ajax.responseXML); } else { //caso não seja um arquivo XML emite a mensagem abaixo idOpcao.innerHTML = "--Primeiro selecione o estado--"; } } } //passa o código do estado escolhido var params = "categoria="+valor; ajax.send(params); } } function processXML(obj){ //pega a tag cidade var dataArray = obj.getElementsByTagName("marcaveiculo"); //total de elementos contidos na tag cidade if(dataArray.length > 0) { //percorre o arquivo XML paara extrair os dados for(var i = 0; i < dataArray.length; i++) { var item = dataArray[i]; //contéudo dos campos no arquivo XML var idmarca = item.getElementsByTagName("idmarca")[0].firstChild.nodeValue; var nomemarca = item.getElementsByTagName("nomemarca")[0].firstChild.nodeValue; idOpcao.innerHTML = "--Selecione uma das opções abaixo--"; //cria um novo option dinamicamente var novo = document.createElement("option"); //atribui um ID a esse elemento novo.setAttribute("id", "opcoes"); //atribui um valor novo.value = idmarca; //atribui um texto novo.text = nomemarca; //finalmente adiciona o novo elemento document.forms[0].id_marca.options.add(novo); } } else { //caso o XML volte vazio, printa a mensagem abaixo idOpcao.innerHTML = "--Primeiro selecione o estado--"; } }</script><?include("superior.php");?> <form method="post" action="pesquisa.php"><select name="id_tipo" style="width:140px" onChange="Dados(this.value);"> <option value="0">Selecione</option><? $tipo = @mysql_query("SELECT DISTINCT nome FROM CatVeiculo ORDER BY nome") or die("Erro no banco de dados!"); while($ddtipo = @mysql_fetch_array($tipo)){ $idt = @mysql_query("SELECT id FROM Marca WHERE nome='".$ddtipo["nome"]."'") or die("Erro no banco de dados!"); $ddidt = @mysql_fetch_array($idt); echo'<option value="'.$ddidt["id"].'">'.$ddtipo["nome"].'</option>'; }?> </select><select name="id_marca" style="width:140px" onChange="alert(this.value);"><option id="opcoes" value="0">Selecione</option></select> <input type="Submit" name="Submit" value="Submit"> </form> marcas.php <?//CONECTA AO MYSQL require_once("cmysql.php"); //RECEBE PARÃMETRO $pCategoria = $_POST["categoria"]; //QUERY$sql = mysql_query("SELECT * FROM Marca WHERE id_categoria='".$pCategoria."' ORDER BY nome"); $row = mysql_num_rows($sql); //VERIFICA SE VOLTOU ALGO if($row) {$dados = mysql_fetch_array($sql); //XML $xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; $xml .= "<marcasveiculos>\n"; //PERCORRE ARRAY for($i=0; $i<$row; $i++) { $xml .= "<marcaveiculo>\n"; $xml .= "<idmarca>".$dados['id']."</idmarca>\n"; $xml .= "<nomemarca>".$dados['nome']."</nomemarca>\n"; $xml .= "</marcaveiculo>\n"; }//FECHA FOR $xml.= "</marcasveiculos>\n"; //CABEÇALHO header("Content-type: application/xml; charset=iso-8859-1"); }//FECHA IF (row) //PRINTA O RESULTADO echo $xml; ?> Alguém pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
andreymor 0 Denunciar post Postado Outubro 19, 2007 emite erro? o que está acontecendo? você nao explicitou nada ai.....Att,Andrey Moretti Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Renan 2 Denunciar post Postado Outubro 19, 2007 explica onde tah dando erro Compartilhar este post Link para o post Compartilhar em outros sites
delaruvi 0 Denunciar post Postado Outubro 19, 2007 Tipo esta tudo certo com o código em javascript e tudo mais,So que está acontecendo o seguinte, ele funciona normalmente quando eu não coloco um outro <form> que cadastra usuarioa a newsleter;Quando eu tiro esse <form> que cadastrada na newsletter o outro form com os combbox funciona normalmente.O que será que esta acontecendo? Alguem sabe ai? Compartilhar este post Link para o post Compartilhar em outros sites
delaruvi 0 Denunciar post Postado Outubro 19, 2007 preciso deixar os dois <forms> na paginaalguem sabe o que tenho q fazer para os dois funcionaremvaleu Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Barral 1 Denunciar post Postado Outubro 19, 2007 você nao esta repetinho ID ou NAME de nenhum dos componentes do form??Abraço.Sem Mais[]'.. Compartilhar este post Link para o post Compartilhar em outros sites
delaruvi 0 Denunciar post Postado Outubro 20, 2007 entao pior que nao estou ja verifiquei essa parte.que caramba ein Compartilhar este post Link para o post Compartilhar em outros sites
delaruvi 0 Denunciar post Postado Outubro 20, 2007 niguem ai sabe porque o ajax e o javascript nao esta funcionando com dois <form> na pgina???valeu Compartilhar este post Link para o post Compartilhar em outros sites
GuttoSP 2 Denunciar post Postado Outubro 20, 2007 Alter[JAVASCRIPTdocument.forms[0][JAVASCRIPT]Para..[JAVASCRIPTdocument.forms[][JAVASCRIPT]Posta o resultado. Compartilhar este post Link para o post Compartilhar em outros sites
delaruvi 0 Denunciar post Postado Outubro 20, 2007 tentei aqui mais nao deu einmesmo resultado o combo nao tem reação nenhuma ao ser clicado mais quando tiro o formulario da newsletter ele cunfionaobrigado Compartilhar este post Link para o post Compartilhar em outros sites