Enviando um formulário ajax do jQuery com dois botões de envio
Eu tenho um formulário que se parece com isso:
<form action="/vote/" method="post" class="vote_form">
<input type="hidden" name="question_id" value="10" />
<input type="image" src="vote_down.png" class="vote_down" name="submit" value="down" />
<input type="image" src="vote_up.png" class="vote_up" name="submit" value="up" />
</form>
Quando eu me vinculo ao envio do formulário ($("vote_form").submit()
), Parece que não tenho acesso a qual imagem o usuário clicou. Então, eu estou tentando ligar para clicar na imagem em si ($(".vote_down, .vote_up").click()
), que sempre envia o formulário, independentemente de eu tentar
porque todos esses são eventos de formulário.
Devo anexar meu $ .post () ao evento form.submit () e, em caso afirmativo, como saber em que entrada o usuário clicou ou
Devo anexar meu $ .post () ao clique da imagem e, em caso afirmativo, como evitar que o formulário seja enviado também.
Aqui está o que o meu código jQuery parece agora:
$(".vote_up, .vote_down").click(function (event) {
$form = $(this).parent("form");
$.post($form.attr("action"), $form.find("input").serialize() + {
'submit': $(this).attr("value")
}, function (data) {
// do something with data
});
return false; // <--- This doesn't prevent form from submitting; what does!?
});