Ir para conteúdo
Fórum Script Brasil
  • 0

Recuperar Valor Com Onmousedown


Rudimar

Pergunta

Preciso recuperar o valor de um menu de lista. Só que preciso fazer diferente do método tradicional de recuperar valores do formulário.

Preciso fazer assim: Vou inserir o evento onMouseDown no menu de lista que contem varios itens. Conforme o usuário for clicando nos valores contidos no menu de lista, tipo, ele aperta a tecla control e vai clicando nos valores para selecionar o que deseja. Então, cada clique que ele der o evento OnMouseDown irá disparar uma função que recuperará o valor que ele clicou. Talvez a função irá utilizar o $HTTP_POST_VARS para recuperar o valor.

ATENÇÃO: A cada clique NÃO DEVERÁ OCORRER O RELOAD NA PÁGINA...

Será que dá???

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

cara n use o $HTTP_POST_VARS... e muito antigo... use o $_POST[];.. mais ai cara n entendi muito bem sua pergunta!!!:d

Link para o comentário
Compartilhar em outros sites

  • 0
ATENÇÃO: A cada clique NÃO DEVERÁ OCORRER O RELOAD NA PÁGINA...

Fazer com PHP sem dar reload na página? Não daria, cara... vou mover seu tópico pra javascript, ok?

Bom, acho que daria pra fazer da seguinte forma: cria uma função pra que, cada vez que o usuário clicar numa opção, a função cria um elemento novo do formulário com o valor daquela opção (elemento do tipo "hidden"). Se ele clicar de novo, você usa outra função pra apagar o <input type="hidden" /> criado pela anterior.

Aí você consegue recuperar todos os valores selecionados na outra página... tanto por GET como por POST, dependendo do método que você especificar.

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, um campo hidden funciona de forma semelhante a um campo text... ele tem um "name" e um "value" que você vai recuperar na página em que o formulário será submetido. A diferença é que o "value" do campo "text" você altera (digitando coisas nesse campo), e a do "hidden", como o próprio nome sugere, não é possível alterar assim... já que ele não é um campo acessível ao usuário. você pode alterar o "value" de um campo "hidden" dinamicamente pelo javascript.

Mas a minha idéia não era exatamente essa... era de você criar ou apagar campos "hidden" conforme o usuário seleciona os itens na caixa <select>. você pode fazer isso dinamicamente pelo javascript, tb. Aí, supondo que o usuário selecionou 3 itens... você criaria 3 <input type="hidden" /> pra terem seus valores recuperados na página seguinte. Entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi muito bem não. Devo fazer o hidden assim:

<input name="SelectAnos" type="hidden" id="Anos" value = "">

Mas como que vou inserir o valor que o usuário clicou no hidden?? Como que obtenho o valor do value aqui no hidden??

E depois, na outra página ao recuperar os valores, como que vou recuperar os varios hiddens se não sei quantos o usuário selecionou??

Link para o comentário
Compartilhar em outros sites

  • 0

Não cara... veja bem, você não vai digitar nenhum campo "hidden" diretamente no HTML. Minha idéia era você criá-los dinamicamente pelo javascript.

você só vai criar no HTML o <select> e as funções em javascript, que serão disparadas quando o usuário clicar nas opções do <select>... você não precisa saber quantas opções o usuário selecionou, pois o script vai fazer tudo automaticamente... se o usuário seleciona um item, cria um novo "hidden", se ele tira a seleção, apaga o "hidden"... tudo pelo javascript. Na hora que você submeter o formulário, as opções selecionadas serão enviadas pra outra página... cada uma como se fosse um campo do formulário. Mas acho que vai ser um tanto complexo fazer isso...

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, então estou tentando outro caminho. Cada vez que o usuário clicar selecionando algum item a funçao será executada. Só que a função fará o seguinte:

<script>

Function Recup(){

var valor = valor + document.form1.SelectAnos.value;

}

</script>

Cada vez que ele vai clicando o conteudo vai sendo armazendo na variavel valor. Note que existe uma concatenação, vai agregando os valores conforme for clicando. Depois jogo isto num úncio hidden, e depois recupero o valor...

Só que a função está dando erro e não sei mais onde procurar este erro...

Link para o comentário
Compartilhar em outros sites

  • 0

hmmm... juntando todas as opções assim numa string só não vai ser complicado pra você interpretar depois? Não era melhor você juntar com algum caractere especial? Aí você pode separar facilmente com o explode() do PHP. Por exemplo, junta tudo com um "|" (desde que o value de nenhuma opção tenha esse caractere).

A função tá dando erro porque você tá usando uma variavel chamada "valor" que não está definida. Defina-a fora da função assim:

valor = "";

function Recup() {

valor += document.form1.SelectAnos.value;

}

Isso já resolveria o erro pelo fato da variável não estar definida... mas você já pensou que o usuário pode tirar algum item da seleção? Aí o value dela já vai estar em na variável valor...

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, eu é digitei errado aqui no forum, mas no programa a variavel já está definida.

Já pensei sim quando o usuário desmarcar, realmente fica compicado. Acho que estou desisitindo deste codigo JS. É uma pena. É muito bom o JS. Mas ele recupera apenas um valor. Vou ter que usar o PHP e dar reload na página , o que justamente queria evitar...

De qualquer forma ...valeu...

Link para o comentário
Compartilhar em outros sites

  • 0

Moderador,

Estive pensando...Quanto aquela questão de o usuário desmarcar um item que previamente havia selecionado, creio que em JS deve existir uma propriedade que indentifique se o item foi seledionado ou descelecionado (é assim que se escreve esta palavra?) , será que existe isto??

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...