0

我正在尝试使用 Jsoup 发布复选框数据并且遇到了一些麻烦。I thought that when multiple checkboxes are selected, they are sent as an array to the server but maybe that is not the case?

这是我认为是正确的:

HashMap<String, String> postData = new HashMap<String, String>();
postData.put("checkbox", "[box1,box2,box3]");

Jsoup.connect("somesite").data(postData).post();

这似乎无法正常工作。但是,如果我只发送一个复选框,那么我会得到预期的结果,这让我相信我对复选框表单数据如何发送的理解是不正确的。

这有效:

postData.put("checkbox", "box2");

也许 HashMap 是使用错误的类型。根据 Jsoup文档,我可以多次调用 .data(key, value) 但我希望有比这更干净的东西。

4

2 回答 2

1

如果您有多个复选框,那么大概每个复选框都有自己的name属性。然后,您应该调用.data(name, value)每个这样的名称。

AFAIK 没有办法将这些调用“折叠”data成一个调用。

于 2012-08-26T20:08:11.743 回答
0

也许您可以尝试以下方法?

 HashMap<String,String> paramHM=new HashMap<String,String>();

 ArrayList<String> checkboxVal=new ArrayList<Strnig>();
 / .. put request.getParametersValues() in this arraylist

 org.jsoup.Connection jsoupConn=Jsoup.connect(web_api).data(paramHM);

 // Multiple Call that 
 for(String item:checkboxVal){
    jsoupConn=jsoupConn.data("checkbox",item);
 }
于 2015-07-09T02:07:35.257 回答