![](/img/trans.png)
[英]Submit form to another page (which is different from the page used in ACTION)
[英]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, " ")); }
您需要记住用户的选择。 有很多方法可以做到这一点,例如使用cookie,本地存储API或仅通过url传递。
最后一个是我认为最简单的方法,基本上可以通过两种方法来完成:
a)通过将其作为可以在服务器端读取的url参数传递,这使服务器可以服务于实际上不同的页面,即使唯一的不同是表单操作url。 那是:
b)通过使用服务器端不可读的hashurl,您确实需要依靠javascript从location对象读取它(并在需要时检测其变化)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.