繁体   English   中英

通过提交按钮执行表单操作,具体取决于<a>使用JavaScript从另一个页面选择</a>的&#39; <a>&#39;链接</a>

[英]Performing form action via submit button depending on the '<a>' link chosen from another different page using javascript

有4个不同的HTML页面,分别是:“ HomePage.html”,“ ABCpage.html”,“ Page1.html”和“ Page2.html”。

HomePage.html-在此页面中,两个链接都被单击,都被重定向到'ABCpage.html'。 以下是下面的HTML代码。

<body>
  <a href="ABCpage.html" id="page1">Page 1</a>
  <a href="ABCpage.html" id="page2">Page 2</a>
</body>

ABCpage.html-在此页面中,只有一个名为“ Enter”的输入按钮,单击时应根据从“ HomePage.html”中选择的链接重定向到“ Page1.html”或“ Page2.html”

<body>
  <form method="post">
    <input type="submit" id="submit" value="Enter" />
  </form>
</body>

“ Page1.html”和“ Page2.html”只是空白页。

因此,根据从“ HomePage.html”中选择的链接,我应该怎么做从“ ABCpage.html”重定向到“ Page1.html”或“ Page2.html”。 现在,我仅使用javascript进行客户端脚本编写,而使用JSP进行服务器端脚本编写,并且对jquery不熟悉。 现在,我从“ HomePage.html”中选择的链接应直接影响“ ABCpage.html”中的表单操作,以便根据所选择的链接将其进一步重定向到“ Page1.html”或“ Page2.html”。 因此,以下内容可能是javascript代码,因为我发现很难找到解决方案。

您将需要从首页传递查询字符串参数。 因此,首页链接上的href值应更像这样:

ABCpage.html?page=2 ABCpage.html?page=1

然后,在ABCpage.html上,您需要使用javascript从URL解析查询字符串参数,并将它们附加到表单操作中。 JS中的逻辑将读取查询字符串参数,并根据一些基本条件语句确定表单操作。

进入ABC页面后,可以使用以下函数来检索querystring参数:

function getParameterByName(name) { name = name.replace(/[\\[]/, "\\\\[").replace(/[\\]]/, "\\\\]"); var regex = new RegExp("[\\\\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search); return results === null ? "" : decodeURIComponent(results[1].replace(/\\+/g, " ")); }

信用: 如何获取JavaScript中的查询字符串值?

您需要记住用户的选择。 有很多方法可以做到这一点,例如使用cookie,本地存储API或仅通过url传递。

最后一个是我认为最简单的方法,基本上可以通过两种方法来完成:

a)通过将其作为可以在服务器端读取的url参数传递,这使服务器可以服务于实际上不同的页面,即使唯一的不同是表单操作url。 那是:

  • Link1 = abcPage.html?id = 1
  • Link2 = abcPage.html?id = 2

b)通过使用服务器端不可读的hashurl,您确实需要依靠javascript从location对象读取它(并在需要时检测其变化)。

  • 链接1 = abcPage.html#1
  • Link2 = abcPage.html#2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM