1

我需要一种使用 div 作为提交按钮向 Servlet 发送表单请求的方法,或者是否有其他方法可以解决我的问题。“注销按钮”是 div。

<div class="logoutbutton">
     <table width="100%">
        <tr>
           <td width="50px"><img src="img/usericon.png" width="44" height="44" /></td>
           <td><a style="font-size:12px; font-family:Verdana, Geneva, sans-serif; color:#FFF"><% out.print(session.getAttribute("userid")); %></a><br />
              <a style="font-size:20px; font-family:Verdana, Geneva, sans-serif; color:#FFF">Log Out</a>
           </td>
        </tr>
     </table>
</div>
4

6 回答 6

2

您需要调用处理链接注销操作的 servlet。您可以使用

<a href = "LogourServletUrlPattern"> Logout </a> 

完成此操作后,您可以从doGet方法注销LogoutServet

于 2013-09-24T07:20:51.960 回答
1

您可以使用 javascript 来捕获 logoutbutton div 上的单击事件并提交表单。假设您有一个 id 为“myform”的表单:

<div class="logoutbutton" onclick="document.getElementById('myform').submit()">

请注意,使用此方法时,浏览器不会将 div 视为超链接,因此您不能右键单击并在新选项卡中打开。

如果您的 javascript 变得复杂,请考虑使用 jquery 等库。

于 2013-09-24T07:26:59.180 回答
1

将您包装DIV为表单的一部分并单击提交表单DIV

<html>
<head>
<script>
function formSubmit()
{
document.getElementById("frm1").submit();
}
</script>
</head>
<body>

<form id="frm1" action="form_action">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<div class="logoutbutton" onclick="formSubmit()">
     <table width="100%">
        <tr>
           <td width="50px"><img src="img/usericon.png" width="44" height="44" /></td>
           <td><a style="font-size:12px; font-family:Verdana, Geneva, sans-serif; color:#FFF"><% out.print(session.getAttribute("userid")); %></a><br />
              <a style="font-size:20px; font-family:Verdana, Geneva, sans-serif; color:#FFF">Log Out</a>
           </td>
        </tr>
     </table>
</div>
</form>

</body>
</html> 
于 2013-09-24T07:21:52.493 回答
1

使用 jquery 轻松实现这一目标。

在 DOM 中

  <div id="logout-button">Logout</div>

在 javascript/jquery 中

$("#logout-button").click(function () {
   alert("ajax call to end session");
});

即使您不使用 jquery,您也可以使用上述内容来了解​​如何实现这一目标。

于 2013-09-24T07:22:50.257 回答
1

我会为此使用 jquery,然后侦听 DOM 对象上的事件是小菜一碟。

$(".logoutbutton").click(function () {
      window.location.href = 'logout.url';
});

或者

$(".logoutbutton").click(function () {
      $.post( "logout.url" );
});
于 2013-09-24T07:19:44.207 回答
1

这很简单,使用 'onclick' 事件:

<div style="cursor:pointer;" onclick="submitForm();">...</div>

在 onclick 上,您还可以使用

window.location.href='LogourServletUrlPattern';

如果您不想调用函数并直接调用 sevlet

于 2013-09-24T07:20:30.777 回答