2

所以我为负载测试创建了大约 150 个测试用户。我需要能够快速删除这 150 个用户。当前删除用户的唯一方法是一次一个。删除用户的方法是单击删除按钮,该按钮更改表单的值,然后提交它。然后将您带到另一个页面,要求您确认。

<a class="enable-delete-link" onclick="deleteUser(23367)">Delete</a>

function deleteUser(userID) {
            $j('#deleteForm > input').val(userID);
            $j('#deleteForm').submit();
          }

<form action="user-delete.jsp" id="deleteForm" method="post">
<input type="hidden" name="user" value="" />
</form>

是否可以在多个新窗口中多次提交表单,并且可以通过并手动点击确认按钮。

我试过了

for(people = 23245; people < 23391; people++){  
$j('#deleteForm > input').val(people);
$j('#deleteForm').attr('target', '_blank');
$j('#deleteForm').submit();
}

但它只会打开一个页面。

谢谢你的帮助!!

4

2 回答 2

1

您不必使用弹出窗口来制作表单帖子,您可以使用 ajax 帖子。

for(var people = 23245; people < 23391; people++){
    $.post('user-delete.jsp', {user: people});
}

话虽这么说,最好在服务器上进行批量删除,您可以向该操作提交一系列值。大多数浏览器对并发 ajax 请求都有限制,您必须使用这种方法来解决这些限制。

您还可以执行以下操作来依次发出每个后续请求:

var range = [];
for(var people = 23245; people < 23391; people++){
    range.push(people);
}

var deleteOne = function(){
    if(range.length > 0){
        // success calls deleteOne again
        $.post('user-delete.jsp', { user: range.pop() }, deleteOne);
    }
};

// kick it off
deleteOne();
于 2012-09-24T21:05:06.723 回答
0

如果您可以重写文件 user-delete.jsp,那么您可以将其更改为接收 POST 数组而不是单个用户 ID。然后您可以将表单更改为可以选择多个用户、组或类似的位置...

于 2012-09-24T21:04:39.300 回答