У меня есть форма, которая выглядит так:
<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>
Когда я привязываюсь к форме submit ($("vote_form").submit()
), у меня нет доступа к тому изображению, на которое пользователь нажал. Поэтому я пытаюсь привязать себя к самому клику ($(".vote_down, .vote_up").click()
), который всегда отправляет форму, независимо от того, пытаюсь ли я
- return false;
- event.stopPropogation(); или
- event.preventDefault();
потому что все они являются событиями формы.
-
Должен ли я присоединить свой $.post() к событию form.submit(), и если да, то как мне определить, какой вход пользователь нажал, или
-
Должен ли я прикреплять мой $.post() к клику изображения, и если да, то как мне также препятствовать отправке формы.
Вот как выглядит мой код jQuery:
$(".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!?
});