我带有 class="vote" 的 div 是
<div class="vote">
<input type="hidden" name="q_id" class="q_id" id="q_id" q_id="{{ result.object.id }}" value="{{ result.object.id }}">
<button type="submit" class="downvote" value="downvote">downvote</button>
我的HTML页面上有几个这种类型的div,
我使用jQuery进行的Ajax调用是:
$('.downvote').click(function() {
var q_id=$(this).attr('q_id')
console.log(q_id)
$.ajax( {
type: 'GET',
url:"http://127.0.0.1:8000/q/downvote/",
data:q_id,
success: searchSuccessDown,
dataType: 'html'
});
});
function searchSuccessDown(data) {
console.log('downvoted successfully');}
我是新手,我的问题是当点击downvote按钮(页面上有几个downvote按钮)时,如何选择具有id="q_id"或class="q_id"的input标签,用于相应的class="vote" div,并通过ajax数据传递其值。
event.preventDefault();
以防止表单提交,同时你也没有使用表单来完成它..!所以也要将其变成表单..! - Umair Shah Yousafzaie.preventDefault()
,那么对我来说,这会让事情变得混乱,因为我正在试图将该事件与实际不存在的东西联系起来。由于 OP 的button
没有action
(即从我所看到的表单中),所以没有必要这样做。然而,如果 OP 的按钮确实提交了一个表单,那么你可能是正确的。 - mferlydiv
,而不是一个form
。当包含在div
中时,没有默认行为需要抑制 :) - mferly