当前位置: 首页 > 知识库问答 >
问题:

如何做"超文本标记语言FORM action=location.replace('nextpage.html')"?

翟修永
2023-03-14

这个头衔实际上是我实现目标的失败尝试。具体来说,我想1。从main转到页面。html(例如,到page1.html)
2。在第1页的表单中收集数据
3。提交时,转到第2页。html(它使用PHP将数据保存到数据库并宣布结果)
4。单击“确定”并返回主菜单页<似乎很合理,对吧?

上面的第4步是我的问题。

我尝试过的事情:
1.在page2中的Ok单击调用history.back。
这将转到page1而不是main
2.在page2
中的“Ok”上调用javascriptlocation.href=main.html这可以工作并转到main,但单击main中的Back按钮会将用户带回page1。(不好)
3.在action=和page1的onSubmit()中使用javascripthistory.replace()的许多变体。
这可以工作,但表单的输入不会在查询字符串中传递到page2)
4.清除历史记录。
由于安全问题,这似乎是不可能的。
5.以编程方式在page1上为history.replace(来自表单输入)组合查询字符串。
这很有效,但非常费力,容易出错,而且非常不优雅

如有任何建议,将不胜感激。

========= 我的解决方案4/8/16 ==============
我在下面为任何感兴趣的人发布我的最终解决方案。
page1.html:

<script type="text/javascript">

function addarg(q,addend)
{
  qnew = q + addend;
  return( qnew );
}

function Next()
{
  // GET INPUT VALUES FROM FORM
  frm = document.forms["MainForm"];
  first   = frm.first.value;
  last    = frm.last.value;
  phone   = frm.phone.value;

  // COMPOSE QUERY
  query = "processForm.php";
  query = addarg( query, '?first='+first );
  query = addarg( query, '&last='+last   );
  query = addarg( query, '&phone='+phone );

  location.replace( query ); // chain to processing page
}
</script>

<form action="javascript:Next()" name="MainForm" method=GET>
  ...
</form>

当history.back()从Process Form.php发出时,它会根据需要返回主菜单。

共有1个答案

钦海荣
2023-03-14

实现这一点似乎更简单的方法是放置一个简单的<代码>

然后在这个main.html上关联一个标志(可能是一个cookie),它“指示”page1.html清除其表单元素,如果它不是main.html调用的,而是从“返回”按钮调用的(例如,通过刷新元,或者通过加载page1.html#randomnum,其中随机是一个你实时发现的值,迫使你的浏览器明白这不是“旧”page1.html而是“新”page1.html,帮助浏览器不是从缓存而是从网络获取)。

其原理是:如果page1.html被“back”调用,它必须是一个“清晰”的page1.html,不显示用户最终输入的任何数据输入。

 类似资料:
  • 我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加

  • 我试图让一个人体模型在360度旋转,但是每当我把鼠标悬停在上面时,人体模型只旋转“前面” CSS: 谢谢顺便!:) 编辑: 以下是超文本标记语言:

  • 我想选择强标签内的文本,但不在其下的div。。。 有没有可能直接与jsoup合作? 我的选择尝试(不工作,选择强标签内的完整内容): HTML:

  • 我正在尝试使用放心来检查服务器返回的HTML文档的一些属性。演示该问题的SSCCE如下所示: 现在,此尝试以,这是由所有可能的错误大约 30 秒左右后超时! 如果我用< code>xmlPathConfig()删除这一行。用()。功能(...)当特性“http://Apache . org/XML/features/disallow-DOCTYPE-decl”设置为true时,由于< code>D

  • 我正在工作的工具提示和从后端我将获得数据与html标记。我需要在工具提示中显示相应的标签中的相应数据。例如,我将从后端获得Hello用户单击此处。我必须显示为你好用户在h1格式,点击这里应该是一个锚。我尝试了这两个功能,并取代其不工作。 具有以下功能: 替换: https://codesandbox.io/s/serene-fast-u8fie?file=/App.svelte

  • 我到处找,到处找。我已经看到了我将要发布的PHP代码中的许多问题,但没有看到任何与我所看到的特定问题相关的问题。 这是我的问题-两行($values/$required),其中我有“name”,“email”,“subject”,“message” 我想在上面加上“电话”。(即“姓名”、“电子邮件”、“电话”、“主题”、“信息”) 如果我把它添加到两行中的一行(不管是哪一行),我仍然可以提交表格,