marvi Postado Julho 22, 2008 Denunciar Share Postado Julho 22, 2008 (editado) Olá pessoal,Eu tenho um script que leva uma variavel para uma página e lá é testada na query, mas eu queria levar mais de um valor nessa variável, como faço?Veja:function RetornoAjax(id, url, container){ if (id == "") { document.getElementById("estados").innerHTML = "<select></select>"; document.getElementById("cidades").innerHTML = "<select></select>"; document.getElementById("zona").innerHTML = "<select></select>"; document.getElementById("profs").innerHTML = "<select></select>"; return }var xmlHttp=GetXmlHttpObject()if (xmlHttp==null){ alert ("Este browser não suporta HTTP Request") return}var url=url;url=url+"?id="+id;url=url+"&sid="+Math.random();xmlHttp.onreadystatechange=function(){ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById(container).innerHTML=xmlHttp.responseText; }}xmlHttp.open("GET",url,true)xmlHttp.send(null)}function GetXmlHttpObject(){var objXMLHttp=null if (window.XMLHttpRequest) objXMLHttp=new XMLHttpRequest() else if (window.ActiveXObject) objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")return objXMLHttp}--------------------------------------------------Como faço para levar mais um valor nessa variável? url=url+"?id="+id;Pois na outra página terá:id = request.querystring("id") sql = "select * from cidades where id_estado ="& id &" order by cidade desc" set tab = conexao.execute(sql)Alguém pode ajudar?Obs: Aproveitando, o codigo em script está pegando só o value do select, isso? Como faço para pegar o value e o nome que fica no select?Obrigado!Marcelo Editado Julho 22, 2008 por fercosmig Adicionar tag's Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Julho 22, 2008 Autor Denunciar Share Postado Julho 22, 2008 (editado) Pode deixar, resolvir assim:url=url+"?id="+id;url=url+"?"+id; id = split(Request.QueryString("id"),"?") info = id(0) info1 = id(1)Mas a questão é que pego o value do select, sabem agora como pegar o nome do select para eu fazer duas comparações na query? Sabe qual comando no script que pega isso?obrigado! Editado Julho 22, 2008 por fercosmig Adicionar tag's Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Julho 22, 2008 Autor Denunciar Share Postado Julho 22, 2008 (editado) Conseguir mais uma etapa mas surgiu outro erro:Mas a questão é que pego o value do select, sabem agora como pegar o nome do select para eu fazer duas comparações na query? Sabe qual comando no script que pega isso?Resposta:onchange="RetornoAjax(this.value, 'estados.asp', 'estados')" troca para onchange="RetornoAjax(this.value, [b]this.text[/b], 'estados.asp', 'estados')" E no JS troque: function RetornoAjax(id, url, container) {Por:function RetornoAjax(id,txt, url, container){Só que essa variavel txt só gera um valor: undefined, por que? Editado Julho 24, 2008 por fercosmig Adicionar tag's Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Julho 22, 2008 Autor Denunciar Share Postado Julho 22, 2008 Pessoal estou usando a seguinte funçãoonchange="RetornoAjax(this.value, this.text, 'estados.asp', 'estados')" Vejam o This.textFunçãofunction RetornoAjax(id, txt, url, container) { if (id == "") { document.getElementById("estados").innerHTML = "<select></select>"; document.getElementById("cidades").innerHTML = "<select></select>"; document.getElementById("zona").innerHTML = "<select></select>"; document.getElementById("profs").innerHTML = "<select></select>"; return } var xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Este browser não suporta HTTP Request") return } var url=url; url=url+"?id="+id;url=url+"?"+txt; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=function() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById(container).innerHTML=xmlHttp.responseText; } } xmlHttp.open("GET",url,true) xmlHttp.send(null) } function GetXmlHttpObject() { var objXMLHttp=null if (window.XMLHttpRequest) objXMLHttp=new XMLHttpRequest() else if (window.ActiveXObject) objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") return objXMLHttp }Mas o meu this.txt está levando um valor undefined, por que?Desde já agradeçoMarcelo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Julho 22, 2008 Autor Denunciar Share Postado Julho 22, 2008 (editado) Pessoal,coloquei esse comandovar indice = document.form1.cidades.selectedIndex var txt=document.form1.cidades.options[indice].texte pegou o valor do pais, no select, mas não quero o valor do selecte paises, quero o valor do select estado e / ou cidades, como faço?Pois coloquei esse codigo acima na função e dava: é nulo ou não é um objeto, pois só funciona se eu colocar o select pais: document.form1.paises.selectedIndex E agora?<form method="POST" action="resultado.asp" name="form1"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="100%"><font color="#3A5278" face="Arial Narrow" size="2">Países:</font></td> </tr> <tr> <td width="100%"> <select name="paises" id="paises" onchange="RetornoAjax(this.value, 'estados.asp', 'estados')" style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"> <option value="">-Selecione-</option> <% while not tab.eof %> <option value="<%= tab("id_pais")%>"><%= tab("pais")%></option> <% tab.movenext wend %> </select></td> </tr> <tr> <td width="100%"><font color="#3A5278" face="Arial Narrow" size="2">Estados:</font></td> </tr> <tr> <td width="100%"><div name="estados" id="estados"><select style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"></select></div></td> </tr> <tr> <td width="100%"><font color="#3A5278" face="Arial Narrow" size="2">Cidades:</font></td> </tr> <tr> <td width="100%"><div name="cidades" id="cidades"><select style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"></select></div></td> </tr> <tr> <td width="100%"><font color="#3A5278" face="Arial Narrow" size="2">Zona (Cidade de São Paulo):</font></td> </tr> <tr> <td width="100%"><div name="zona" id="zona"><select style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"></select></div></td> </tr> <tr> <td width="100%"><font color="#3A5278" face="Arial Narrow" size="2">Profissionais:</font></td> </tr> <tr> <td width="100%"><div name="profs" id="profs"><select style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"></select></div></td> </tr> <tr> <td width="100%"> <input type="submit" value="Buscar" name="B1" style="color: #FFFFFF; font-size: 10 px; font-family: Verdana; border: 1px solid #808080; background-color: #3A5278"></td> </tr> </table> </form> </td> </tr> </table> Editado Julho 22, 2008 por marvi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Julho 22, 2008 Denunciar Share Postado Julho 22, 2008 pra você usar document.form1.cidadevocê precisa nomear o campo q você precisase ligo?document = este documentoform1 = nome do elemento q você quer pegar como é um formulário então temos filhoso nó <select name="paises"> tem retorno porque ele tem um nome então o js não se perdeenquanto os outrs não.outra saída é o "id"document.getElementById('id q você quer')mas no seu html você tambem não usa id para quase nenhum ou nenhum elemento dentro deleOBS.: para mexer com js nomes e ids são essenciais!Espero ter ajudado! =D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Julho 22, 2008 Autor Denunciar Share Postado Julho 22, 2008 Sei sobre o que você falou, mas os outros tem nome sim... Veja que no script ele chama uma página e retorna para a original...Se quero estado ele vai nessa página e devolve para div, acho:id = split(Request.QueryString("id"),"?") info = id(0) info1 = id(1) sql = "select * from estados where id_pais ="& info &" order by estado desc" set tab = conexao.execute(sql) %> <select name="estados" id="estados" onchange="RetornoAjax(this.value, 'cidades.asp', 'cidades')" style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"> <option value="">-Selecione-</option> <% while not tab.eof %> <option value="<%=tab("id_estado")%>"><%=tab("estado")%></option> <% tab.movenext wend conexao.close set tab = nothing %> </select>Aí devolve para outra que postei, não há uma identificação? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Julho 22, 2008 Denunciar Share Postado Julho 22, 2008 na outra a identificação está dentro da "div" e não dentro do elemento "select" .por isso está dando erronessa segunda ta certinho =Dpode verificar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Julho 22, 2008 Autor Denunciar Share Postado Julho 22, 2008 mas todos estão assim, que depois é retornado para o que te mostrei que só tem as divs, entendeu?Tem a seguinte função que faz o trabalho por trás certo, esta função recebe o valor, a pagina que irá processar e o objeto que receberá o conteúdo, certo?Seu usuário foi e escolheu um estado, o script faz a pesquisa e traz os estados correto? Ai o usuário escolhe um estado e você quer que traga as cidades certo?É assim, veja esse site: http://www.sbpi.org.br/profissionaislink.asp la tem uns combos para pesquisar país, estado, cidade e profissão... é nesse modeloSó que no meu, quando for sair a cidade são paulo eu irei mostrar outro combo exibindo: zona leste, sul, norte e etc... Mas quando for outras cidades, ele pula esse combo e exibi o próximo, já que não tem necessidade de zonas... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Julho 22, 2008 Denunciar Share Postado Julho 22, 2008 então você tem 2ids estados depois q você add o "select estados"tente trocar o id e nome da div estados pode ser q dê certo e você consiga pegar o valor do select usando document.form1.estados.selectedIndex (acho q é isso)ou document.getElementById('estados').etc Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Julho 22, 2008 Autor Denunciar Share Postado Julho 22, 2008 (editado) Mudar?Se quiser te mando o arquivo para ver...É assim, a index tem:<script src="funcoes.js" type="text/javascript"></script> <select name="paises" id="paises" onchange="RetornoAjax(this.value, 'estados.asp', 'estados')" style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"> <option value="">-Selecione-</option> <% while not tab.eof %> <option value="<%= tab("id_pais")%>"><%= tab("pais")%></option> <% tab.movenext wend %> </select> </tr> <tr> <td width="100%"><font color="#3A5278" face="Arial Narrow" size="2">Estados:</font></td> </tr> <tr> <td width="100%"><div name="estados" id="estados"><select style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"></select></div></td> </tr> <tr> <td width="100%"><font color="#3A5278" face="Arial Narrow" size="2">Cidades:</font></td> </tr> <tr> <td width="100%"><div name="cidades" id="cidades"><select style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"></select></div></td> </tr> <tr> <td width="100%"><font color="#3A5278" face="Arial Narrow" size="2">Zona (Cidade de São Paulo):</font></td> </tr> <tr> <td width="100%"><div name="zona" id="zona"><select style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"></select></div></td> </tr> <tr> <td width="100%"><font color="#3A5278" face="Arial Narrow" size="2">Profissionais:</font></td> </tr> <tr> <td width="100%"><div name="profs" id="profs"><select style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"></select></div></td> </tr> onde seleciona o combo país e assim chama a função original (que atende outros combos): função.js: function RetornoAjax(id, url, container) { if (id == "") { var txt = "1" document.getElementById("estados").innerHTML = "<select></select>"; document.getElementById("cidades").innerHTML = "<select></select>"; document.getElementById("zona").innerHTML = "<select></select>"; document.getElementById("profs").innerHTML = "<select></select>"; return } var xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Este browser não suporta HTTP Request") return } var url=url; url=url+"?id="+id;url=url+"?"+txt; // nesse txt que fica o nome e não o value do selec, era para ser... // ele funciona normal no split... a coisa é colocar o valor do nome aí e não outro value igual... url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=function() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById(container).innerHTML=xmlHttp.responseText; } } xmlHttp.open("GET",url,true) xmlHttp.send(null) } function GetXmlHttpObject() { var objXMLHttp=null if (window.XMLHttpRequest) objXMLHttp=new XMLHttpRequest() else if (window.ActiveXObject) objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") return objXMLHttp } que chama (pela função acima) a página estado.asp. Isso depois que solecionou o combo país: estado.asp: id = split(Request.QueryString("id"),"?") info = id(0) info1 = id(1) sql = "select * from estados where id_pais ="& info &" order by estado desc" set tab = conexao.execute(sql) %> <select name="estados" id="estados" onchange="RetornoAjax(this.value, 'cidades.asp', 'cidades')" style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"> <option value="">-Selecione-</option> <% while not tab.eof %> <option value="<%=tab("id_estado")%>"><%=tab("estado")%></option> <% tab.movenext wend conexao.close set tab = nothing %> </select> que por sua vez chama o combo cidade: id = split(Request.QueryString("id"),"?") info = id(0) info1 = id(1) sql = "select * from cidades where id_estado ="& id &" and ok <> "& idi &" order by cidade desc" set tab = conexao.execute(sql) if not tab.eof then cidadet=tab("ok") if cidadet = "True" then %> <select name="cidades" id="cidades" onchange="RetornoAjax(this.value, 'zonas.asp', 'zona')" style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"> <option value="">-Selecione-</option> <% while not tab.eof %> <option value="<%= tab("id_cidade")%>"><%= tab("cidade")%></option> <% tab.movenext wend conexao.close set tab = nothing %> </select> <%else%> <select name="cidades" id="cidades" onchange="RetornoAjax(this.value, this.text, 'profissionais.asp', 'profs')" style="font-family: Verdana; font-size: 10 px; color: #808080; border: 1px solid #808080"> <option value="">-Selecione-</option> <% while not tab.eof %> <option value="<%= tab("id_cidade")%>"><%= tab("cidade")%></option> <% tab.movenext wend conexao.close set tab = nothing %> </select> <%end if end if %> Editado Julho 22, 2008 por marvi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fercosmig Postado Julho 24, 2008 Denunciar Share Postado Julho 24, 2008 no parâmetro txt você quer receber o nome do objeto?já entou this.name? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Julho 24, 2008 Denunciar Share Postado Julho 24, 2008 então cara. você tem ids iguais na index q ta nas divs cidades/estados e na outra q ta no select cidades/estadospor isso você não consegue pegar o valor da que você quer... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Julho 26, 2008 Denunciar Share Postado Julho 26, 2008 url=url+"?id="+id;url=url+"?"+id;id = split(Request.QueryString("id"),"?")info = id(0)info1 = id(1)Isso aí não existe, cuidado.url=( url +"?id="+ id + "&nome=" + id2 + "&idade=" + id3 + "&cep=" + id4 )Deve usar sempre o & para as demais variáveis. Isso que você fez vai dar erro uma hora ou outra. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
marvi
Olá pessoal,
Eu tenho um script que leva uma variavel para uma página e lá é testada na query, mas eu queria levar mais de um valor nessa variável, como faço?
Veja:
--------------------------------------------------
Como faço para levar mais um valor nessa variável? url=url+"?id="+id;
Pois na outra página terá:
Alguém pode ajudar?
Obs: Aproveitando, o codigo em script está pegando só o value do select, isso? Como faço para pegar o value e o nome que fica no select?
Obrigado!
Marcelo
Editado por fercosmigAdicionar tag's
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.