進むボタンと戻るボタンの両方でナビゲートできる複数ページのフォームがありますが、サイドバーメニューからもナビゲートできます。
ユーザーがサイドバー メニュー ナビゲーションを介してページを離れた場合に、現在のページに入力されたデータが失われるのを回避したい:
望ましい目標:
ユーザーがメニュー内のリンクをクリックすると、フォームの「アクション」属性がそのリンク先に一致するように調整されます。いくつかのページがあるので、「page1.php へのリンクがクリックされた場合、アクションを page1.php などと同じにする」というように、リンクのクリックで呼び出すことができる関数をいくつかハードコーディングしたくありません。リンク先が何であれ、アクションを設定します。
私の試み:
(私はJavaScriptを学んでいるので、私は本当に暗闇の中で少し突き刺しています。this
もっとよく理解したいです)
これが私のhtmlです
<form id="myform" action="default_action.php" method="POST">
... form inputs...
<input type="submit" name="DefaultSubmit" value="Next Page">
</form>
<div id="navmenu" class="navmenu">
<ul id="sidebarmenu1">
<li><a href="?page=1" class="menu1" onclick="OnMenuClick()">Page 1</a></li>
<li><a href="?page=2" class="menu2" onclick="OnMenuClick()">Page 2</a></li>
<li><a href="?page=3" class="menu3" onclick="OnMenuClick()">Page 3</a></li>
</ul>
</div>
そして、これがjavascriptでの私の試みです:
<script>
function OnMenuClick()
{
document.myform.action ="this.getAttribute("href")"
document.myform.submit();
}
</script>
さまざまなチュートリアルを読んでまとめましたが、1 つのことを行うには多くの方法があるようです。これまでのところ、これはうまくいきません。何か提案はありますか?