Ir para conteúdo

POWERED BY:

Arquivado

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

Ronaldo Bueno

[Resolvido] link com valor de select

Recommended Posts

Olá, em primeiro lugar quero agradecer pela ajuda de todos.

 

Tenho 3 problemas, mas um relacionado ao outro, o primeiro é:

 

tenho uma pagina que tem um select com nomes que vem de uma tabela e abaixo tenho um calendário e tenho um link nesse calendário (no dia) que vai para uma outra página com a data que ele escolheu.

 

Estou precisando que ao clicar na data ele envie a data e também o que o usuário escolheu no select.

 

A data esta indo legal, mas o select não consegui. fiz assim:

 

no select dos nomes eu coloquei onchange="document.getElementById('me').value=this.value;"

e abaixo do select um hidden com o nome me <input type="hidden" name="me" id="me" value="">

 

<a href="teste.asp?data=data&nome=<%=request("me")%>">

 

Alguém poderia me dar uma luz no fim do túnel ? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tenho muito o que explicar, pois o código já é auto-explicativo e provavelmente irá resolver o seu problema ou, no mínimo, dar uma ótima idéia de como fazer.

 

Segue o código:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>
<script type="text/javascript">
function envDados(id) {
var objCheckBox = document.getElementById("opcoes1");
var objText = document.getElementById("texto1");

	if (objCheckBox.value == "") {
		alert("Selecione um nome!");
		objCheckBox.focus();
	}else{
	objText.value = objCheckBox.value + " (" + id + ")";
}

}
</script>
<style type="text/css">
a {padding:0 5px 0 5px; text-decoration: none}
</style>
</head>
<body>
<form name="form1" action="" method="post">
Escolha um nome: <select id="opcoes1">
<option value=""></option>
<option value="Abreu">Abreu</option>
<option value="Ambrósio">Ambrósio</option>
<option value="Bortilis">Bortilis</option>
<option value="Cesaris">Cesaris</option>
<option value="Dungivaldo">Dungivaldo</option>
<option value="Estrongilis">Estrongilis</option>
</select>
<br><br>Escolha uma data:
<br><a href="javascript: envDados('1')">1</a>
<a href="javascript: envDados('2')">2</a>
<a href="javascript: envDados('3')">3</a>
<a href="javascript: envDados('4')">4</a>
<a href="javascript: envDados('5')">5</a>

<br><a href="javascript: envDados('6')">6</a>
<a href="javascript: envDados('7')">7</a>
<a href="javascript: envDados('8')">8</a>
<a href="javascript: envDados('9')">9</a>
<a href="javascript: envDados('10')">10</a>

<br><br>Os valores selecionados são: <input id="texto1" type="text" readonly>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

klonder, Não consegui fazer... teria uma outra opção ?

 

A parte do calendário é muito grande por isso não postei aqui, mas esta funcionando certinho, o meu problema é pegar o valor do select e colocar em uma variável para depois eu jogar ela dentro do link igual a variável da data, mas isso eu faço, o problema esta em pegar o valor e colocar dentro de uma variável. não tem outra forma de pegar um valor sem ser JS ?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teria que ver como está no calendário, ou seja, o que acontece quando o usuário clica em um dia do calendário (se ele está dentro de um form, se estão dentro de divs ou spans, se há possibilidade de chamar uma função, se há possibilidade de enviar tudo em uma string etc).

Fica difícil te dar alguma sugestão sem saber o que está acontecendo em seu código. Se puder informar melhor sobre os "eventos" seria mais fácil.

 

Poderia fazer com linguagem server-side, mas com JS é mais rápido, dependendo do caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá ...

No calendário quando o usuário clica em um dia ele vai para uma pagina (marcação de consulta) então eu levo a data que ele clicou para usá-la.

 

esse calendário é feito em ASP e esta dentro de DIV, não tem form.

 

O que acontece é que na pagina de marcação de consulta preciso do nome também, então tenho o select com o nome para escolher e depois clicar na data que quer a consulta.

 

A data esta indo bunitinho e como teste estou dando o nome manualmente (dentro do código).

 

vi o exemplo que deu e tentei fazer, fiz vários testes, depois de escolher o nome no select consegui fazer ele colocar o nome dentro de uma div e dentro de um input text, na mesma pagina, ai então coloquei o imput como hidden e dentro do link coloquei o nome do hidden, mas não vai o nome, fica em branco.

 

Também tentei fazer assim :

 

no select dos nomes coloquei onchange="document.getElementById('me').value=this.value;" e abaixo um input text, ele mostra o nome que escolhi, agora quando mudo para o input hidden não vai. Se esta mostrando o que escolhi no input text e depois mudo para o hidden, como faço para mandar esse valor do hidden dentro do link que esta assim:

<a href="teste.asp?data=<%=data%>&nome=JOGAR AQUI O VALOR DO HIDDEN">, tem como ?

 

Obrigado mais uma vez ... estou queimando a cabeça com isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vi o exemplo que deu e tentei fazer, fiz vários testes, depois de escolher o nome no select consegui fazer ele colocar o nome dentro de uma div e dentro de um input text, na mesma pagina, ai então coloquei o imput como hidden e dentro do link coloquei o nome do hidden, mas não vai o nome, fica em branco.

 

Não tem jeito se você não enviar o hidden ou input como post, ou seja, precisa de um formulário.

Basta colocar o hidden, ou input text dentro do formulário, com um botão submit para enviar os dados para outra página, definida em action.

 

Exemplo:

<form name="form1" action="sua_pagina.asp" method="post">
<input type="hidden" name="nome">
<br><input type="submit" value="Enviar">
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

klonder,

 

mas como irei fazer um form se quem manda para a outra pagina é o dia no calendário ??? rsrsr

 

entendi o que você disse, mas estou pensando nisso em como fazer isso. tem alguma luz ?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que acontece é que na pagina de marcação de consulta preciso do nome também, então tenho o select com o nome para escolher e depois clicar na data que quer a consulta.

 

Do jeito que você escreveu, ficou parecendo que você está precisando do select na página de marcação. Isso estava me confundindo.

 

Você tem uma página asp que contém um calendário e um select com vários nomes. O calendário é composto por números obviamente, que são links responsáveis por passar parâmetros via GET (bastava você ter dito que são links!) para a página de marcação. Todavia, você gostaria de enviar, além da data, algum outro nome selecionado em um select, de modo que a página de marcação recebesse (via GET, e não POST) os parâmetros data e nome.

 

Para fazer isso, não há necessidade de input ou hidden. Basta apenas que cada link passe parâmetros para uma função em javascript, para que essa função construa o link adequado, tanto com os parâmetros recebidos, quanto o valor do select.

 

Bom, o código abaixo mostra o que parece que você está pretendendo. Ao clicar no calendário, olhe os parâmetros passados via GET na URL:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>
<script type="text/javascript">
function envDados(id) {
var objCheckBox = document.getElementById("opcoes1");
var objText = document.getElementById("texto1");

        if (objCheckBox.value == "") {
                alert("Selecione um nome!");
                objCheckBox.focus();
        }else{
        		window.location.href='teste.asp?data='+id+'&nome='+objCheckBox.value;
}

}
</script>
<style type="text/css">
a {padding:0 5px 0 5px; text-decoration: none}
</style>
</head>
<body>
<form name="form1" action="" method="post">
Escolha um nome: <select id="opcoes1">
<option value=""></option>
<option value="Abreu">Abreu</option>
<option value="Ambrósio">Ambrósio</option>
<option value="Bortilis">Bortilis</option>
<option value="Cesaris">Cesaris</option>
<option value="Dungivaldo">Dungivaldo</option>
<option value="Estrongilis">Estrongilis</option>
</select>
<br><br>Escolha uma data:
<br><a href="javascript: envDados('01072009')">1</a>
<a href="javascript: envDados('02072009')">2</a>
<a href="javascript: envDados('03072009')">3</a>
<a href="javascript: envDados('04072009')">4</a>
<a href="javascript: envDados('05072009')">5</a>

<br><a href="javascript: envDados('06072009')">6</a>
<a href="javascript: envDados('07072009')">7</a>
<a href="javascript: envDados('08072009')">8</a>
<a href="javascript: envDados('09072009')">9</a>
<a href="javascript: envDados('10072009')">10</a>

</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

klonder, deu certinho, era realmente isso que precisava, fiz apenas algumas mudanças:

 

o link do dia dentro do calendário ficou assim:

<a href="javascript: envDados('<%=(day1-primog+x)%>')" target="_parent" onMouseOut="window.status=''" onMouseOver="window.status=''"><%=day(day1-primog+x)%></a>

 

e o script assim:

<script type="text/javascript">

function envDados(id) {

var objCheckBox = document.getElementById("medicos");

var objText = document.getElementById("texto1");

if (objCheckBox.value == "") {

alert("Selecione um nome!");

objCheckBox.focus(); }

else{

window.location.href='teste.asp?data='+id+'&medico='+objCheckBox.value;

}

}

 

funcionou beleza, mas se puder me responder uam pergunta.

estava quase colocando um div com id="texto1" antes de colocar o dia no calendário, não fiz e deu certo, então a pergunta é: de onde vem esse var objText = document.getElementById("texto1");, se não tenho nem objeto com esse nome?

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz... apaga isso!!! kkkk!!!

Eu esqueci de tirar... fazia referência à caixa de texto do primeiro código que postei...

 

Foi mal! Mas que bom que deu certo! Qualquer dúvida estamos aqui, de plantão, para te ajudar!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, já apaguei rsrrrss.

 

Muito obrigado, lembra que eu disse nesse tópico que tinha 3 problemas ... rsrsrrs estou abrindo um novo ok ?

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.