struts 1.3 html タグ ライブラリ タグを使用している単純な jsp コードを作成しました。ボタンのクリックイベントでstrutsアクションクラスへのajax呼び出しを行いたいです。JSPで複数のボタンを使用するため、jQueryは要素のIDまたはタグ名(ここではボタンのID)を必要としますが、タグ名を使用することはできません。しかし、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 に送信しているため、スパンに 2 つのボタンがある) レンダリングされた html コードを追加しています。