Ir para conteúdo

POWERED BY:

Arquivado

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

Ashramkun

[Resolvido] XML dentro do combobox

Recommended Posts

Olá Pessual. Eu postei uma dúvida na seção de XML, mas eu gostaria de coloca-la aqui tambem, pois como descrito no meu primeiro post, eu tenho uma semi solucao em ASP. O post é esse:

Clique aqui

 

Enfim, eu preciso criar uma combobox com os itens sendo pegos de um XML. Pesquisei na net e achei um exemplo que funcionou, mas não sei como fazer ele ficar clicável. Ou seja, Os itens aparecem certinho na combobox, mas ao selecionar qualquer um deles, não acontece nada, e eu preciso que ele carregue uma url.

Eis o exemplo que eu achei

 

XML

<ArrayOfGetCommunitydata>

<getCommunitydata>
<state_pk>1</state_pk>
<link>www.google2.com</link>
<community_pk>1929</community_pk>
<community_name>Madrid</community_name>
</getCommunitydata>

<getCommunitydata>
<state_pk>35</state_pk>
<link>www.google.com</link>
<community_pk>1947</community_pk>
<community_name>Spain</community_name>
</getCommunitydata>

<getCommunitydata>
<state_pk>1</state_pk>
<link>www.google3.com</link>
<community_pk>1909</community_pk>
<community_name>Brasil</community_name>
</getCommunitydata>

</ArrayOfGetCommunitydata>

ASP

<select name="yourChoiceOfName">
<%
Set xml = Server.CreateObject("msxml2.ServerXMLHTTP")
xml.open "GET", "URL do arquivo XML", False
xml.send

Set doc = Server.CreateObject("msxml2.DOMDocument")
doc.loadXML( xml.ResponseXML.xml )
 
Set items = doc.getElementsByTagName("getCommunitydata")
For inum = 0 To items.length-1
	Set curitem = items.item(inum)

	Set pk = curitem.SelectSingleNode("community_pk")
	Set nm = curitem.SelectSingleNode("community_name")
	If Not( pk Is Nothing) AND Not( nm Is Nothing ) Then
		pkval = Trim(pk.Text)
		nmval = Trim(nm.Text)
Response.Write "<option value="link"" & pkval & """>" & nmval & "</option>" & vbNewLine
	   

	End If
Next
%>
</select>

Alguem poderia me ajudar a deixar esses itens apontando para uma url ao selecionar um deles? No XML no caso teria um campo url claro, que eu creio que entraria no value de cada item e no evento change, ele carregaria a página de acordo com o item selecionado.

 

Grato =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tb pode colocar o evento onchange no combo...

e verifique o action no form...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois eh xanburzum. Mas eu não manjo de ASP. Esse exemplo eu peguei pronto na internet e funcionou o carregamento das informacoes do XML, faltando a acao de cada item carregar uma pagina. Teria como alguem que mange de ASP me dar um exemplo que ja faca isso? Eu acredito que para quem sabe não deve ser tão dificil =)

 

O xml que tenho eh algo assim:

 

<?xml version="1.0" encoding="iso-8859-1"?>

<galeria>

  <foto imagem="Item1" url="link1.html"/>
  <foto imagem="Item2" url="link2.html"/>
  <foto imagem="Item3" url="link3.html"/>
</galeria>

Nesse exemplo, no combobox deve aparecer tres itens, sendo eles o Item1, Item2 e o Item3, que respectivamente apontam ao serem selecionados para o link1.html, link2.html, link3.html .

 

Valeu xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma pesquisada no forum k existem varios exemplos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mantenha a mesma linha do XML anterior, alterei algumas coisas do script ASP, ficando assim:

 

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfGetCommunitydata>

<getCommunitydata>
<link>www.google2.com</link>
<community_name>Madrid</community_name>
</getCommunitydata>

<getCommunitydata>
<link>www.google.com</link>
<community_name>Spain</community_name>
</getCommunitydata>

<getCommunitydata>
<link>www.google3.com</link>
<community_name>Brasil</community_name>
</getCommunitydata>

</ArrayOfGetCommunitydata>

Código ASP

<select name="yourChoiceOfName" onChange="if(this.selectedIndex!=0)self.location=this.options[this.selectedIndex].value">
<%
Set xml = Server.CreateObject("msxml2.ServerXMLHTTP")
xml.open "GET", "http://localhost/teste/xml_teste2.xml", False
xml.send

Set doc = Server.CreateObject("msxml2.DOMDocument")
doc.loadXML( xml.ResponseXML.xml )

Set items = doc.getElementsByTagName("getCommunitydata")
For inum = 0 To items.length-1
	Set curitem = items.item(inum)

	Set link = curitem.SelectSingleNode("link")
	Set nm = curitem.SelectSingleNode("community_name")
	If Not( link Is Nothing) AND Not( nm Is Nothing ) Then
		pkval = Trim(link.Text)
		nmval = Trim(nm.Text)
		Response.Write "<option value=http://"&pkval&">" & nmval & "</option>" & vbNewLine

	End If
Next
%>
</select>

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.