社員のリストをクリックしてJSでsubmitを動かして社員の詳細ページに飛ぶ作りなのですが、
画面を遷移するときにactionのexecute()が2回呼ばれてしまいます。2回呼ばれるときと1回のときがあり2回呼ばれる場合はエラーでページが見つかりませんとなってしまいます。
PCによってはその現象が全く起らないものもあり、eclipce上では起こりません。
JSPとjsのソースは以下になります。ご教示お願いします。
<section id="mainContents"> <s:form action="registertargetchoice"> <div id="titleArea"> <h1>対象者一覧</h1> </div> <div id="contentsArea"> <div id="errmsg"> <s:actionerror /> </div> <div id="searchArea" class="clearfix"> <div class="searchBody"> <dl class="clearfix"> <dt>社員No.</dt> <dd><s:textfield label="社員No." name="searchEntity.shain_cd" maxlength="12" cssClass="ime_d" id="shainCd"/></dd> <dt>社員氏名</dt> <dd><s:textfield label="社員氏名" name="searchEntity.shain_nm" maxlength="64" cssClass="ime_a" id="shainNm"/></dd> <dt>入社日</dt> <dd> <div id="hireDateArea"> <div> <span id="startYearFromArea"><s:select name="searchEntity.start_ymd_year_from" list="ymdYearList" listKey="key" listValue="value" onchange="generateDay('startFrom')" id="startFromYear" />年</span> <span id="startMonthFromArea"><s:select name="searchEntity.start_ymd_month_from" list="ymdMonthList" listKey="key" listValue="value" onchange="generateDay('startFrom')" id="startFromMonth" />月</span> <span id="startDayFromArea"><s:select name="searchEntity.start_ymd_day_from" list="ymdDayList" listKey="key" listValue="value" onfocus="generateDay('startFrom')" id="startFromDay" />日</span> </div> <div> ~ </div> <div> <span id="startYearToArea"><s:select name="searchEntity.start_ymd_year_to" list="ymdYearList" listKey="key" listValue="value" onchange="generateDay('startTo')" id="startToYear" />年</span> <span id="startMonthToArea"><s:select name="searchEntity.start_ymd_month_to" list="ymdMonthList" listKey="key" listValue="value" onchange="generateDay('startTo')" id="startToMonth" />月</span> <span id="startDayToArea"><s:select name="searchEntity.start_ymd_day_to" list="ymdDayList" listKey="key" listValue="value" onfocus="generateDay('startTo')" id="startToDay" />日</span> </div> </div> </dd> </dl> <!-- <dl class="clearfix"></dl> --> <dl class="clearfix"> <dt>確認状況</dt> <dd><s:select name="searchEntity.confirming_stat" list="confirmingStatList" listKey="code" listValue="name" id="confirmingStat" /></dd> <%-- <dt>利用帳票</dt> <dd><s:select name="searchEntity.ledger_sheet_use" list="ledgerSheetUseList" listKey="code" listValue="name" id="ledgerSheetUse" /></dd> --%> </dl> </div> <div class="searchArrow"></div> <div id="searchbtn" class="circleM" onClick="searchProgram()"><span id="search">検索</span></div> </div> <p id="searchMessage"><s:property value="searchEntity.searchMessage" /></p> <s:if test="resultlist != null && !resultlist.isEmpty()"> <table border="1"> <thead> <tr><th>社員No.</th><th>社員氏名</th><th>カード氏名</th><th>入社日</th><th>本人家族氏名</th><th>生年月日</th><th>性別</th><th>続柄</th><th>確認1</th><th>確認2</th></tr> </thead> <tbody> <s:iterator value="resultlist" var="result"> <tr onClick="javascript:setAndSubmit('<s:property value="#result.request_cd" />','<s:property value="#result.zokugara_cd" />')"> <td id="shainCode"><s:property value="#result.shain_cd" /></td> <td class="shainName" title="<s:property value="#result.shain_nm" />"><div class="shainName"><s:property value="#result.shain_nm" /></div></td> <td class="cryptNm" title="<s:property value="#result.crypt_nm" />"><div class="cryptNm"><s:property value="#result.crypt_nm" /></div></td> <td id="startYmd"><s:property value="#result.start_ymd" /></td> <td class="himselfNm" title="<s:property value="#result.himself_nm" />"><div class="himselfNm"><s:property value="#result.himself_nm" /></div></td> <td id="birthdayYmd"><s:property value="#result.birthday_date" /></td> <td id="gender"><s:property value="#result.gender" /></td> <td id="zokuDis"><s:property value="#result.zokugara" /></td> <td id="confirming1"><s:property value="#result.confirming1" /></td> <td id="confirming2"><s:property value="#result.confirming2" /></td> <%-- <td id="rsLedgerSheetUse"><s:property value="#result.ledger_sheet_use" /></td> </tr> --%> </s:iterator> </tbody> </table> </s:if> </div> <div class="hiddenBtnArea"> <s:textfield name="leaveType" id="leaveType" /> <input type="hidden" name="l91.sessionId" class="sessionId" value="<%=request.getSession().getId()%>" /> <s:textfield name="l91.functionNm" class="functionNm" value="" /> <s:textfield name="l91.eventNm" class="eventNm" value="" /> <s:textfield name="l91.eventNo" class="eventNo" value="" /> <s:textfield name="l91.levelFlg" class="levelFlg" value="" /> <s:textfield name="eventCategory" class="eventCategory" value="" /> <s:submit id="actionTrigger" /> <s:submit id="searchTrigger" method="search" value="検索" /> </div> </s:form> <form method="post" action="../register/registeredit"> <div class="hiddenBtnArea"> <input type="hidden" name="l91.sessionId" class="sessionId" value="<%=request.getSession().getId()%>" /> <s:textfield name="l91.functionNm" class="functionNm" value="" /> <s:textfield name="l91.eventNm" class="eventNm" value="" /> <s:textfield name="l91.eventNo" class="eventNo" value="" /> <s:textfield name="l91.levelFlg" class="levelFlg" value="" /> <s:textfield name="eventCategory" class="eventCategory" value="" /> </div> <s:hidden id="request_cd" name="request_cd" /> <s:hidden id="zokugara_cd" name="zokugara_cd" /> <s:hidden name="transitionOrg" id="transitionOrg" /> <s:submit id="editTrigger" value="javaアクションへ" /> </form> </section> </div>
window.onload = function() { addLog(OPEN_PAGE,EVENT_CATEGORY_OPEN); } /* * ログ追加 */ function addLog(eventNmByEvent,eventCategoryByEvent) { var obj = {}; var sessionId = $('.sessionId').val(); var title = document.getElementsByTagName("h1")[1].innerText; var eventNm = eventNmByEvent; var eventNo = FIRST_EVENT_NO; var levelFlg = LEVEL_FLG_INFO; var eventCategory = eventCategoryByEvent; var paramSessionId = 'l91.sessionId'; var paramFunctionNm = 'l91.functionNm'; var paramEventNm = 'l91.eventNm'; var paramEventNo = 'l91.eventNo'; var paramLevelFlg = 'l91.levelFlg'; var paramEventCategory = 'eventCategory'; obj[paramSessionId] = sessionId; obj[paramFunctionNm] = title; obj[paramEventNm] = eventNm; obj[paramEventNo] = eventNo; obj[paramLevelFlg] = levelFlg; obj[paramEventCategory] = eventCategory; var jqxhr = $.ajax({ url : "logadd", cache : false, // キャッシュさせない data : obj }).done(function() { // alert("success"); }).fail(function() { // alert("error"); }).always(function() { // alert("complete"); }); } function setAndSubmit(id, zokugara) { $('.functionNm').val(document.getElementsByTagName("h1")[1].innerText); $('.eventNm').val("明細"); $('.eventNo').val(FIRST_EVENT_NO); $('.levelFlg').val(LEVEL_FLG_INFO); $('.eventCategory').val(EVENT_CATEGORY_BUTTON); $('#request_cd').val(id); $('#zokugara_cd').val(zokugara); $('#transitionOrg').val("registertargetchoice"); $('#editTrigger').trigger("click"); }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/17 05:33
2016/10/20 00:29
2016/10/21 09:59