我想通过点击每个提交按钮发送我的表单。
我的问题:我如何发送每个表单并分别指出每个结果。我已经测试了以下代码,但它没有发送任何内容,并且没有.divs
div的结果:
$("form").on('submit',function(e) {
var url = 'http://seller.ir/test'
$.ajax({
type: "POST",
url: url,
data: $(this).serialize(),
success: function(data) {
$(this).find('.divs').empty
$(this).find('.divs').html(data)
}
});
e.preventDefault();
});
form{
width:100px;
border:1px solid blue;
height:50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<div class="divs">
<form>
<button id="done"type="submit">done</button>
</form>
</div>
<div class="divs">
<form>
<button id="done" type="submit">done</button>
</form>
</div>
<div class="divs">
<form>
<button id="done" type="submit">done</button>
</form>
</div>
答案 0 :(得分:0)
您的代码唯一的问题是您的表单没有.divs
作为后代。请阅读.find()的文档。
获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。
将您的HTML更改为
<form>
<button id="done"type="submit">done</button>
<div class="divs"></div>
</form>
<form>
<button id="done"type="submit">done</button>
<div class="divs"></div>
</form>
<form>
<button id="done"type="submit">done</button>
<div class="divs"></div>
</form>
现在,如果按完成按钮,相应的表单将触发其submit
事件,该事件将由jQuery处理。此外,正如其他答案所指出的,不同元素的ID必须是HTML页面的唯一ID。
如果您只是替换内部div
的内容,则此行就足够了。
$(this).find('.divs').html(data);
您不需要先清空div。