我有一个看起来像这样的表格:
<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>
当我绑定到表单的提交 ( $("vote_form").submit()
) 时,我似乎无法访问用户单击的图像。所以我试图绑定到点击图像本身($(".vote_down, .vote_up").click()
),它总是提交表单,不管我是否尝试
- 返回假;
- 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!?
});