0

我编写了一个简单的 jsp 代码,其中我使用的是 struts 1.3 html 标签库标签。我想在按钮的单击事件上对 struts 动作类进行 ajax 调用。为了使它成为可能,jQuery 需要元素的 id 或标签名称(这里是按钮的 id),因为我将在我的 JSP 中使用多个按钮,所以不可能使用标签名称。但是html标签库的元素没有“id”属性。请给我一个解决这个问题的方法?

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>


$(document).ready(function(){
  $("#action").click(function(){
      alert("inside function");
      var dataToBeSent = $("form").serialize();

      $.post("http://localhost:8013/MyProject1/details.do", dataToBeSent, function(data, textStatus) {

              alert(data.income);
              alert(data.taxReturn);
              alert(textStatus);
              $("#income").val(data.income);
              $("#taxReturn").val(data.taxReturn);

        }, "json");

      });

   });


</script>
</head>
<body>

<table>
<tr><td>
<html:form action="details.do">

SSN : <html:text  property="numberSSN" />  <br/>
YEAR : <html:text property="year" /> <br/>
INCOME: <html:text  property="income" value=""/><br/>
TAX: <html:text property="taxReturn" value=""/><br/> <br/>


<html:button  property="action"  >TestClickEvent </html:button>
<html:reset></html:reset>
</html:form>

<div id="details1">
</div>
</td>
</tr? 

</body>
</html>

在这里我添加渲染的 html 代码

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>


$(document).ready(function(){
  $("#htmlFindButton").click(function(){
      alert("inside function");
      var dataToBeSent = $("form").serialize();

      $.post("http://localhost:8013/MyProject1/details.do?action=\"find\" ", dataToBeSent, function(data, textStatus) {

              alert(data.income);
              alert(data.taxReturn);
              alert(textStatus);
              $("#income").val(data.income);
              $("#taxReturn").val(data.taxReturn);

        }, "json");

      });

   });


</script>
</head>
<body>

<table>
<tr><td>
<form name="detailsForm" method="post" action="/MyProject1/details.do;jsessionid=A42FCDD6D26ACC6631384375C69D2743">

SSN : <input type="text" name="numberSSN" value="0">  <br/>
YEAR : <input type="text" name="year" value=""> <br/>
INCOME: <input type="text" name="income" value=""><br/>
TAX: <input type="text" name="taxReturn" value=""><br/> <br/>

<span id="htmlFindButton" >
<input type="button" name="action" value="TestClickEvent"> </span>
<input type="reset" value="Reset">
</form>

<div id="details1">
</div>
</td>
</tr>


</table>

<p>
   <a href="/MyProject1/Welcome.do;jsessionid=A42FCDD6D26ACC6631384375C69D2743">Click me to access to JSP Welcome page</a>
</p> 

</body>
</html>

在这里,我添加了完整的(在我向 LookUpDispatchAction 提交表单时有两个按钮)呈现的 html 代码

4

0 回答 0