Ir para conteúdo

POWERED BY:

Arquivado

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

marvi

Mais uma variável

Recommended Posts

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 variavel, 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;
[b]url=url+"?id="+id;[/b]
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

A forma mais fácil é depois da linha : url=url+"?id="+id; inclua outra como url=url+"&nomedaoutravariavel="+valordaoutravariavel;

Compartilhar este post


Link para o post
Compartilhar em outros sites

klaygomes,

 

Não funcina correto pois ela dar um seguinte valor: 120?id=120, por exemplo

 

E o certo é ir só os valores para poder fazer um split: 120|120

id = split(Request.QueryString("id"),"|")

info = id(0)

info1 = id(1)

 

Entendeu? Será que esse "?" não vai ser ruim para o split? Ja que o split é "|" ?

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marvi, pensei que você desejava incluir uma nova querystring a url.

 

Para fazer o oque você quer, use algo como:

 

url= '?id=' + encodeURIComponent(url.concat(id, '|', outraVar, '|', outraVar2,'|', outraVarN));

 

sacou?

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode deixar, resolvir assim:

 

url=url+"?id="+id;url=url+"?"+id;

 

id = split(Request.QueryString("id"),"?")

info = id(0)

info1 = id(1)

 

Assim também não dar o mesmo resultado?

 

Mas a questão é que pedo o value do select, sabe agora como pegar o nome do select para eu fazer duas comparações na query? Sabe qual comando no script que pega isso?

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marvi, aonde esta a parte que chama a função RetornoAjax?

 

Você consegue obter o texto de um select assim:

 

document.getElementById(idDoSelect).items[document.getElementById(idDoSelect).se

lectedIndex].text;

Compartilhar este post


Link para o post
Compartilhar em outros sites

klaygomes,

 

Tenho a página:

<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>

Que chama minha função

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+"?"+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
}

Será que nessa função posso fazer: variavel=document.getElementById("estados").innerHTML = "<select></select>"; para pegar o valor ou tem que acoplar algum comando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pronto, acho que achei uma solução para o seu problema, olha na página html, procura por: onchange="RetornoAjax(this.value, 'estados.asp', 'estados')" troca para onchange="RetornoAjax(this.value, this.text, 'estados.asp', 'estados')"

 

E no JS

 

troque:

...

function RetornoAjax(id, url, container)

{

...

 

Por:

...

function RetornoAjax(id,txt, url, container)

{

...

 

 

Pronto, o valor do texto agora vai estar residido na variável txt.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, mas o valor veio como: undefined

 

function RetornoAjax(id, txt, url, container)

url=url+"?id="+id;url=url+"?"+txt;

 

<select name="paises" id="paises" onchange="RetornoAjax(this.value, this.text, '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>

O que deve ser?

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.