我正在构建一个Android应用,我想发布一个看起来像这样的html表单:
<form onsubmit="ShoutBox.postShout(); $('shout_data').value = ''; return false;">
Shout: <input type="text" id="shout_data" size="50"> -
<input type="submit" value="Shout Now!" id="shouting-status"></form>
我在应用程序的其余部分使用Jsoup,我最好还是将它用于此。
我知道.data(name, value)
方法,但由于html文本和按钮没有名称属性,因此无效。我可以使用id提取字段并使用以下字符填充字段:Element.val(String val);
但我不知道如何在此之后发布表单。任何人都可以帮助我吗?
这是发布它的JavaScript代码:
postShout: function() {
message = $("shout_data").value;
if (message == "") {
return false;
}
$("shouting-status").value = ShoutBox.lang[0];
postData = "shout_data="+encodeURIComponent(message).replace(/\+/g, "%2B");
new Ajax.Request('xmlhttp.php?action=add_shout', {method: 'post', postBody: postData, onComplete: function(request) { ShoutBox.postedShout(request); }});
},
答案 0 :(得分:0)
帖子不是通过表单提交和发布变量来完成的,而是通过JavaScript和XML HTTP请求完成的。 JSoup无法执行JavaScript。您需要一个可以远程控制的浏览器。要在Java HTMLUnit 中实现这一目标是一个不错的选择。