Quero enviar um formulário. Mas não estou seguindo a maneira básica de usar um botão de entrada com o tipo de envio, mas um um link.
A imagem abaixo mostra o porquê. Estou usando links de imagens para salvar / enviar o formulário. Como tenho marcação CSS padrão para links de imagem, não quero usar os botões de envio de entrada.
Tentei aplicar onClick = "document.formName.submit ()" ao elemento a, mas preferiria um método html.
Alguma ideia?
Respostas:
Dois caminhos. Crie um botão e estilize-o para que pareça um link com css ou crie um link e use-o
onclick="this.closest('form').submit();return false;"
.fonte
form.submit()
não vai funcionar sem JavaScriptinput[type=submit].link { border: none; background: none; display: inline; color: blue; text-decoration: underline; }
e<input type=submit class="link" />
Você realmente não pode fazer isso sem alguma forma de script, com o melhor de meu conhecimento.
Exemplo daqui .
fonte
Apenas um estilo
input type="submit"
como esse funcionou para mim:Testado no Chrome, IE 7-9, Firefox
fonte
input
elemento apropriado usando seletores CSS sem anexar uma classe ao elemento HTML.Você está usando imagens para enviar .. então você pode simplesmente usar um
type="image"
"botão" de entrada:fonte
<button>
elemento com um<img/>
elemento nele.usar:
ou:
mais algum CSS
fonte
Definitivamente, não há solução com HTML puro para enviar um formulário com um link (
a
tag ). O HTML padrão aceita apenas botões ou imagens. Como alguns outros colaboradores disseram, é possível simular a aparência de um link usando um botão, mas acho que esse não é o objetivo da pergunta.IMHO, acredito que a solução proposta e aceita não funciona.
Eu testei em um formulário e o navegador não encontrou a referência ao formulário.
Portanto, é possível resolvê-lo usando uma única linha de JavaScript, usando o
this
objeto, que faz referência ao elemento que está sendo clicado, que é um nó filho do formulário, que precisa ser enviado. O mesmothis.parentNode
acontece com o nó do formulário. Depois é só chamar osubmit()
método dessa forma. Não é necessária pesquisa de todo o documento para encontrar a forma correta.Suponha que eu entre com meu próprio nome:
Eu usei
get
no atributo method method porque é possível ver os parâmetros corretos no URL na página carregada após o envio.Essa solução obviamente se aplica a qualquer tag que aceite o
onclick
evento ou algum evento semelhante.this
é uma excelente opção para recuperar o contexto juntamente com aevent
variável (disponível em todos os principais navegadores e no IE9) que pode ser usada diretamente ou transmitida como argumento para uma função.Nesse caso, substitua a linha pela
a
tag pela linha abaixo, usando a propriedadetarget
que indica o elemento que iniciou o evento.fonte
Stackoverflow
. Espero que suas correções me ajudem a melhorar meu estilo. Meu inglês também não é bom.você pode usar OnClick = "document.getElementById ('formID_NOT_NAME'). SUBMIT ()"
fonte