想象一下在mysite / test / universe(URL =' universe')或mysite / test / earth(URL =' earth')上进行测验。选择答案并单击“提交”按钮后,您将转发到mysite / test / results.php的静态页面。表单自动转发一些测试数据(例如$ answer1 = $ _POST [' q1'])。
有没有办法修改脚本,以便当有人点击“提交”按钮时,页面的URL也会被捕获并转发到结果页面?
我不希望网址本身发生变化。例如,如果将人们转发到mysite / test / results%universe或类似的东西,那么他们可以访问该URL以查看所有答案。
所以我只想转发URL的值,然后我可以使用它来显示和设置正确和错误的答案以及反馈。
我还应该解释一下,我正在使用PHP,jQuery和AJAX,我的最终目标是修改我的测试,以便用户可以登录,测试结果将发布到数据库。考虑到这一点,下面修改HTML的最佳方法是什么,以便捕获页面URL并将其转发到结果页面?
<div id="quiz" rel="key" style="width: 500px; margin: 10px auto;">
<form action="grade.php" method="post" id="quiz">
<ol>
<li id="q1">
<div class="Question">No one knows if there’s just one universe or a series of universes, sometimes referred to as a:</div>
<div class="Answer">
<label for="q1-A"><div class="Radio"><input type="radio" name="q1" id="q1-A" value="A" style="display: none;"> A. multiverse</div></label></div>
<div class="Answer">
<label for="q1-B"><div class="Radio"><input type="radio" name="q1" id="q1-B" value="B" style="display: none;"> B. parallel universe</div></label></div>
</li>
</ol>
<input type="submit" value="Submit Quiz" />
</form>
</div>
答案 0 :(得分:1)
在表单中有一个隐藏字段
<input type="hidden" id="url" />
并使用此javascript设置其值
document.getElementById("url").value = document.URL;
或者这个jQuery
$(document).ready(function(){
$("input#url").attr("value", $(location).attr('href'));
});
然后它将与表格一起提交。
答案 1 :(得分:1)
您可以使用查询字符串。如果您在表单提交后的http://something.html和第二页网址中的第一页网址是another.html,那么
<form action="another.html?previous=<?php echo $_SERVER['REQUEST_URI']; ?>">
</form>
在another.html中,您可以在使用GET
提交表单之前获取上一页网址 $_GET["previous"]