Fórum Submit ou Button? #532751
24/09/2015
0
<input type="" />
Marluce Neves
Curtir tópico
+ 0Posts
24/09/2015
Marcelo Pastore
[url]http://softwarelivre.org/dojo-toolkit/blog/diferencas-entre-tags-button-e-input-com-type-button[/url]
Gostei + 0
24/09/2015
Marluce Neves
Gostei + 0
24/09/2015
Marcelo Pastore
Gostei + 0
24/09/2015
Marluce Neves
Gostei + 0
25/09/2015
Jothaz
Quando você cria um "submit" como no exemplo abaixo:
<form action="action_page.php"> First name:<br> <input type="text" id="nome" value="Mequetrefe"> <br> <input type="submit" id="enviar" value="Enviar"> </form>
Você esta dizendo para a página que ao clicar no botão de noem "enviar" é para executar o action "action_page.php" do form. Então seria uma forma implicita de executar um ação, no caso uma página php. Se você definir um "submit" e não definir uma action não vai ocorre nada. Outro detalhe o submit é atrelado a action do form então só vai rodar aquela action.
Ao criar um button e definir um uma ação no evento onclick você arbtrariamente rodará o uma função qualquer que esteja definida na sua página. Veja o exemplo:
<form action="action_page.php" id="form1">
First name:<br>
<input type="text" id="nome" value="Mequetrefe">
<br>
<button type="button" id="enviar" onclick="enviar()">Envia</button>
<br>
<button type="button" id="modal" onclick="modal()">Modal</button>
<br>
<button type="button" id="detalha" onclick="detalha()">Detlhar</button>
</form>
<script>
function enviar()
{
document.form1.action = "chama_pagina-diferente-da-action-original.php"
]
function modal()
{
//Aqui função para exibir modal
]
function detalha()
{
//Aqui função para detlhar, por exemplo
]
</script>
No exemplo acima apesar de existir um action definido para o form, foi definido no botão "enviar" a execução de uma função que altera o action do form e roda abre um página definida nesta nova action. Note que mesmo existindo um action definido para o form ele não vai ser executado, pois não é chamada nem existe um botão submit.
Botão do tipo submit sempre vai executar o action do form, botões comuns executa uma função definida no evento onclick.
Gostei + 0
25/09/2015
Marluce Neves
Gostei + 0
25/09/2015
Jothaz
<form action="minha-pagina.html" id="form1">
Gostei + 0
25/09/2015
Marluce Neves
Gostei + 0
25/09/2015
Jothaz
Tanto o action como o link (<a href..>) vão redirecionar para a página indicada, só que o action é exclusivo para ser usado/atribuido a formulário e o link é um controle especifico que pode ser utilizado em qualquer parte da página inclusive dentro de um formulário.
Outro detalhe importantíssimo é que o action submete (envia) o formulário e você pode recuperar os campos, usando um linguagem back-end, em outra página através de "request.form" e manipulá-los de acordo com sua necessidade. No caos do link não é passado/submetido os campos do formulário.
Porém pode-se passar parâmetros via link e recuperá-los através de "requst.querystring", via linguagem back-end e usá-los de acordo com a necessidade. Veja um exemplo de um link passando parâmetros:
<a href="minha-pagina.aspx?nome=Marluce" />
No caso é chamada uma página "minha-pagina.aspx" e é passado um parâmetro "nome" com o valor "Marluce" que pode ser recuperado e usado.
Não vou-me estender, pois sem conhecer uma linguagem back-end fica um pouco difícil abstrair o conceito. Com HTML puro não é possível manipular o objeto Request.
Gostei + 0
25/09/2015
Marluce Neves
Gostei + 0
05/04/2019
Rafael Jeck
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)