发布没有名字的表格,最好是JSoup

时间:2014-01-05 11:58:40

标签: java android html jsoup

我正在构建一个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); }});
    },

1 个答案:

答案 0 :(得分:0)

帖子不是通过表单提交和发布变量来完成的,而是通过JavaScript和XML HTTP请求完成的。 JSoup无法执行JavaScript。您需要一个可以远程控制的浏览器。要在Java HTMLUnit 中实现这一目标是一个不错的选择。