2013-03-03 59 views
1

提交的文本搜索我有一段HTML代码,表示应该是对教师的目录搜索小工具在大学使用jsoup

<div id="right_column" class="content_main"> 
    <div class="searchbox"> 
    <form method="POST" action="/faculty/directory_search/" id="searchform"> 
     <h4>Search the Directory</h4> 
     <input type="text" name="searchterms" value="" /> 
     <select name="category" class="dropdown"> <option value="all" selected="selected">All Categories</option> <option value="Faculty">Faculty</option> <option value="Staff">Staff</option> <option value="Visitors">Visitors</option> <option value="Full time">Full time</option> <option value="Visiting">Visiting</option> <option value="Special Appointment">Special Appointment</option> <option value="Biological Sciences">Biological Sciences</option> </select> 
     <input type="hidden" name="sort" value="asc" /> 
     <input type="submit" class="submit" value="Search directory" /> 
     <a class="button" href="/faculty/index/desc" id="sortbutton">Sort Alphabetically</a> 
    </form> 
    <script type="text/javascript"> 
       $('#searchform').ready(function(){ 
        $('#sortbutton').click(function(){ 
         $('input[name="sort"]').val('desc'); 
         $('#searchform').submit(); 
         return false; 
        }); 
       }); 
      </script> 
    </div> 

我想一个网站的一部分输入姓名“John”,并提交搜索使用jsoup使用Java代码(意为Android,但总体是相同的Java代码,作为一个普通的Java应用程序)

Document doc = Jsoup.connect("http://www.qatar.cmu.edu/directory/").data("searchterms", "john").post(); 

不过,我不断收到相同页面,只是“http://www.qatar.cmu.edu/directory/”没有提交搜索。我注意到,在HTML代码中有提交输入类型。我想知道我是否必须提交搜索。如果是这样,该怎么办?

回答

2

我相信你正在对包含表单的页面执行POST请求,而不是表单端点。这应该工作:

Document doc = Jsoup.connect("http://www.qatar.cmu.edu/faculty/directory_search/").data("searchterms", "john").data("sort", "asc").data("category", "all").post(); 

它使POST请求直接对窗体端点。

+1

谢谢!!!如果可能的话,你可以向我解释端点是什么形式,以及为什么我必须发布给他们?或者指给我一些解释它的文档?我翻阅了jsoup文档.......太复杂了,因为我的简单头脑无法理解 – gedo 2013-03-04 04:59:51