我需要清除之前的回复。它只是堆积起来。
对不起,我对ajax知之甚少。 我感谢所有的回复。谢谢。
<script type="text/javascript">
$(document).ready(function(){
$("#form").submit(function(){
var selector = $(this);
var form = selector.serializeArray();
$("#submit").prop('disabled', true);
$.ajax({
url:'{{ url('dashboard/add') }}',
type: 'post',
data: form,
dataType:"json",
success: function(data){
if(!data.success)
{
$.each(data.errors, function(r, errors){
var node = document.createElement("li");
var textnode = document.createTextNode(errors);
node.appendChild(textnode);
document.getElementById("list").appendChild(node);
});
$('#myModal').modal('hide');
$('#myModal8').modal('show');
}
else
{
$('#myModal').modal('hide');
$('#myModal7').modal('show');
}
}
});
return false;
});
});
</script>
答案 0 :(得分:3)
您始终会附加到同一HTML列表中。
既然你已经有了jquery就可以使用了
empty()
在删除列表之前清除列表。
$('#list').empty();
请注意,这将删除列表中的所有内容,如果您需要删除应定位其ID或类的特定元素。
答案 1 :(得分:2)
响应堆积如山,因为你不断清除它们就一直追加它们。如果要在启动新submit
时清除错误列表,
// ...
$("#form").submit(function(){
document.getElementById("list").innerHTML = "";
// ...
答案 2 :(得分:1)
您可以使用hasChildNodes()
检查列表中是否存在任何子节点,如果是true
,则可以使用replaceChild()
代替appendChild()
。
或者您可以在添加新内容之前使用innerHTML
清空内容。