2016-09-24 27 views
-2

如何将数据从超链接传递给servlet,以获取Jquery函数?

$(document).ready(function(){ 
 
    alert("inside function"); 
 
    $(".month").click(function(e){ 
 
     alert("hii"); 
 
     $("a").click(function(){ 
 
      var m = $(this).attr("id") // or you can use this.id 
 
      alert("current selected month"+m); 
 
      $.ajax({ 
 
        type : "POST", 
 
        url : "Controller?action=month", 
 
        data : m, 
 
        success : function(data) { 
 
         alert("sucess"); 
 
        } 
 
       }); 
 
     }); 
 
    });    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="bg1"> 
 
    <div class="bg2"> 
 
     <div class="main"> 
 
      <div class="box"> 
 
       <article id="content"> \t \t \t 
 
        <div class="box1"> 
 
         <div class="wrapper"> 
 
          <div class="h"> 
 
           <div class="h1"> \t \t \t \t \t 
 
            <ul class="month"> \t \t \t \t \t 
 
             <li><a class="month" id="01" href="#">January</a></li> 
 
             <li><a class="month" id="02" href="#">February</a></li> 
 
             <li><a class="month" id="03" href="#">March</a></li> 
 
             <li><a class="month" id="04" href="#">April</a></li>       
 
             <li><a class="month" id="05" href="#">May</a></li> 
 
             <li><a class="month" id="06" href="#">June</a></li> 
 
             <li><a class="month" id="07" href="#">July</a></li> 
 
             <li><a class="month" id="08" href="#">August</a></li> 
 
             <li><a class="month" id="09" href="#">September</a></li> 
 
             <li><a class="month" id="10" href="#">October</a></li> 
 
             <li><a class="month" id="11"href="#">November</a></li> 
 
             <li><a class="month" id="12"href="#">December</a></li> 
 
            </ul> \t \t \t \t 
 
           </div> 
 
           <div class="h2"> 
 
            <div align="right"> 
 
             <a href="maintenance_table.tiles" class="button2">Show All</a> 
 
            </div> 
 
            <center> 
 
             <h2>Maintenance Form</h2> 
 
             <form id="mentainenceForm" action="#"method="post"> 
 

 
              <table> 
 
               <tr class="wrapper"> 
 
                <td>Date:</td> 
 
                <td><input type="text" class="input"></td> 
 
               </tr> 
 
               <tr> 
 
                <td>Electric :</td> 
 
                <td><input type="text" class="input"></td> 
 
               </tr> 
 
               <tr class="wrapper"> 
 
                <td>Water :</td> 
 
                <td><input type="text" class="input"></td> 
 
               </tr> 
 
               <tr class="wrapper"> 
 
                <td>Internet:</td> 
 
                <td><input type="text" class="input"></td> 
 
               </tr> 
 
               <tr class="wrapper"> 
 
                <td>Maintenance:</td> 
 
                <td><input type="text" class="input"></td> 
 
               </tr> 
 
               <tr> 
 
                <td></td> 
 
                <td><a href="#" class="button2">Submit</a></td> 
 
               </tr> 
 
              </table> 
 
             </form> 
 
            </center> 
 
           </div> 
 
          </div> 
 
         </div> 
 
        </div> 
 
       </article> 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div>

我想获得一个月ID的onclick hyperlink.i的得到的jQuery机能的研究的ID,但得到的ID后,我想发送的ID在我的控制器来获得详细信息。所以,请建议我我可以在我的代码中更改什么,以便代码正常工作。

+0

您可以将每月的URL在你的Ajax调用:) '网址: “控制器行动=月” + “&monthValue =” + M,'并获得monthValuein你的控制器java作为请求参数 – Pat

+0

我已经更正了你的建议,但控制不会去Servlet。 –

回答

0

您需要首先的preventDefault您的点击标签代码。

$(".month").click(function(e){ 
    e.preventDefault(); 
-1

您在代码中使用Jquery,至于我的理解您必须包含jQuery库。试试这个代码包括在你的文件然后运行。

src =“https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js”>
+0

是的,我已经包括jQuery库 –

0

您不需要内部点击侦听器。处理类别为.month的元素上的所有点击事件。

你纠正记者:

$(document).ready(function(){ 
    alert("inside function"); 
    $(".month").click(function(e){ 
     e.preventDefault(); 
     var m = $(this).attr("id") // or you can use this.id 
     alert("current selected month"+m); 
     $.ajax({ 
      type : "POST", 
      url : "Controller?action=month", 
      data : m, 
      success : function(data) { 
       alert("sucess"); 
      } 
     }); 
    }); 
}); 
+0

我已经改正了code.But的servlet犯规call.i有由request.getparameter..but给控制器在web.xml行动并获得一个月甚至第一的System.out.println(“里面的servlet” );在控制台上打印。 –

+0

那么检查您的应用程序中的路由和您的ajax请求中的网址。 如果您仍然需要帮助,请使用servlet代码更新您的问题 – ShabashP