アンカータグとJavaScriptを介してServletControllerにリダイレクトしようとしています。
現在、IEではなくGoogleChromeで動作します。これまで2日間Webを調べたところ、IEは動的要素ではsetAttributeでうまく機能しないことがわかったため、実際の属性を使用して値を割り当てるように切り替える必要がありました。
アンカーは、動的フォームを作成してフォームを送信し、サーブレットへの新しいリクエストを作成することを想定していますが、何らかの理由でjavascriptでアンカーをクリックしても何も起こりません。ただし、Chromeのアンカーをクリックすると、正しく実行され、問題なく次のページにリダイレクトされます。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My Account</title>
<meta name="description" content="eTeam Bank">
<meta name="author" content="Abraham Cabrera">
<link rel="stylesheet" type="text/css" href="css/mystyles.css">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type="text/javascript">
function anchorRedirect(username, user_id, operation) {
"use strict";
var form = document.createElement("form");
form.name="form";
form.id="form";
form.method = "post";
form.action = "ServletController";
var hiddenField1 = document.createElement("input");
hiddenField1.type = "hidden";
hiddenField1.name = "username";
hiddenField1.value = username;
form.appendChild(hiddenField1);
var hiddenField2 = document.createElement("input");
hiddenField2.type = "hidden";
hiddenField2.name = "user_id";
hiddenField2.value = user_id;
form.appendChild(hiddenField2);
var hiddenField3 = document.createElement("input");
hiddenField3.type = "hidden";
hiddenField3.name = "operation";
hiddenField3.value = operation;
form.appendChild(hiddenField3);
form.submit();
}
</script>
</head>
<body>
<header>
<div id="title">eTeam Bank</div>
</header>
<div id="container">
<div class="userTitle" >
<div class="user">
Welcome: user
</div>
<div class="userTime">
Thu Jan 31 09:24:16 EST 2013
</div>
</div>
<div class="accountBox" >
<div class="accountSpace"></div>
<div id="accountAnchor">
<a href="javascript:anchorRedirect('user', '2', 'loadPersonalInfo');">Personal Info</a>
</div>
<div id="accountAnchor">
<a href="javascript: anchorRedirect('user', '2', 'loadAccountInfo')">Account Info</a>
</div>
<div id="accountAnchor">
<a href="javascript: anchorRedirect('user', '2', 'loadAccountSum')">Account Summary</a>
</div>
</div>
</div>
<footer>
<div id="footerContent">Abraham Cabrera © 2013</div>
</footer>
追加の詳細:
1。これは、いかなる種類の生産事業または企業向けではなく、個人的な研究のためだけのものです。
2. javaスクリプト関数を使用せずにURLパスを介して変数を直接渡そうとしましたが、モデルクラスを介してユーザーアカウント情報を取得するためにServletControllerに新しいリクエストを行う必要があるため、要件を満たしていません。どちらの操作でも、ビューに転送します。