Não tenho certeza se isso é possível. Mas eu queria saber se alguém sabe como fazer um hiperlink passar algumas variáveis e usar POST (como um formulário) em vez de GET.
javascript
html
http
Elliot
fonte
fonte
Respostas:
Você cria um formulário com entradas ocultas que mantêm os valores a serem postados, define a ação do formulário com o URL de destino e o método do formulário a postar . Em seguida, ao clicar no seu link, acione uma função JS que envia o formulário.
Veja aqui , para um exemplo. Este exemplo usa JavaScript puro, sem jQuery - você pode escolher se não deseja instalar nada além do que já possui.
fonte
GET
? Tivemosget
sem o formulário, não é?Você não precisa de JavaScript para isso. Só queria deixar isso claro, já que no momento em que essa resposta foi publicada, todas as respostas a essa pergunta envolvem o uso de JavaScript de uma maneira ou de outra.
Você pode fazer isso facilmente com HTML e CSS puro , criando um formulário com campos ocultos contendo os dados que deseja enviar e, em seguida, estilizando o botão de envio do formulário para parecer um link.
Por exemplo:
O CSS exato que você usa pode variar, dependendo do estilo dos links regulares em seu site.
fonte
Você pode usar funções javascript. O JQuery possui uma boa função de postagem incorporada, se você decidir usá-lo:
JQuery Post
fonte
$.post('page.php', {param: 1}, function() { window.location.href = 'page'.php' });
<a href="whyjavascript.html" id="postIt">Click Here</a>
e ter$("#postIt").on("click",function(e) { e.preventDefault(); $.post("WhateverPage.php", { name: "John", time: "2pm" } ); });
Esta é uma pergunta antiga, mas nenhuma das respostas atende à solicitação na íntegra. Então, eu estou adicionando outra resposta.
O código solicitado, pelo que entendi, deve fazer apenas uma alteração na maneira como os hiperlinks normais funcionam: o
POST
método deve ser usado em vez deGET
. As implicações imediatas seriam:href
POST
Estou usando o jquery aqui, mas isso pode ser feito com APIs nativas (mais difícil e mais longo, é claro).
E para ver o resultado, salve o seguinte como reflector.php no mesmo diretório que você salvou acima.
fonte
Outro exemplo de trabalho, usando uma abordagem semelhante publicada: crie um formulário html, use javascript para simular a postagem. Isso faz duas coisas: publique os dados em uma nova página e abra-os em uma nova janela / guia.
HTML
Javascript
fonte
HTML + JQuery : um link que envia um formulário oculto com o POST.
Como passei muito tempo compreendendo todas essas respostas e todas elas têm alguns detalhes interessantes, aqui está a versão combinada que finalmente funcionou para mim e que eu prefiro por sua simplicidade.
Minha abordagem é novamente criar um formulário oculto e enviá-lo clicando em um link em outro lugar da página. Não importa onde, no corpo da página, o formulário será colocado.
O código para o formulário:
Descrição:
O
display: none
oculta o formulário. Como alternativa, você pode colocá-lo em uma div ou outro elemento e defini-lodisplay: none
no elementoO
type="hidden"
criará um fild que não será mostrado, mas seus dados serão transmitidos às eitherways de ação ( ver W3C ). Entendo que esse é o tipo de entrada mais simples.O código para o link:
Descrição:
O vazio
href
apenas segmenta a mesma página . Mas isso realmente não importa nesse caso, poisreturn false
o navegador será interrompido de seguir o link. Você pode mudar esse comportamento, é claro. No meu caso específico, a ação continha um redirecionamento no final.O
onclick
foi usado para evitar o uso,href="javascript:..."
conforme observado por mplungjan . o$('#myHiddenFormId').submit();
foi usado para enviar o formulário (em vez de definir uma função, pois o código é muito pequeno).Este link será exatamente igual a qualquer outro
<a>
elemento. Você pode realmente usar qualquer outro elemento em vez de<a>
(por exemplo, uma<span>
ou uma imagem).fonte
Você pode usar esta função jQuery
Aqui está um exemplo em jsFiddle ( http://jsfiddle.net/S7zUm/ )
fonte
Como mencionado em muitos posts, isso não é diretamente possível, mas uma maneira fácil e bem-sucedida é a seguinte: Primeiro, colocamos um formulário no corpo da nossa página html, que não possui botões para o envio e também suas entradas estão escondidos. Em seguida, usamos uma função javascript para obter os dados e enviar o formulário. Uma das vantagens desse método é redirecionar para outras páginas, que depende do código do servidor. O código é o seguinte: e agora em qualquer lugar você precisa estar no método "POST":
fonte
Sugiro uma abordagem mais dinâmica, sem codificação html na página, mantenha-a estritamente JS:
fonte
Em vez disso, usando javascript, você também pode usar um rótulo enviando um formulário oculto. Solução muito simples e pequena. O rótulo pode estar em qualquer lugar do seu html.
fonte
Marque isto e irá ajudá-lo
fonte