【问题标题】:Form Button Redirect URL表单按钮重定向 URL
【发布时间】:2020-06-20 19:46:40
【问题描述】:

我有一个带有文本字段和提交按钮的表单。还有一个 JS 检查文本字段上的输入 - 如果错误没有任何反应,如果正确,则按钮重定向页面。我让它与作为操作附加到表单的 url 一起工作。但是,我想将它作为脚本的一部分,这样 url 在源代码中不可见。尝试了许多选项,但不知何故无法使其工作。按下按钮(使用正确的输入)时,页面本身会重新加载而不是重定向。这些是脚本和表单代码,欢迎提出任何建议:

  // JavaScript Document
function validateForm() {
  var x = document.forms["myForm"]["fname"].value;
  if (x !== "4") {
    return false;
  }
else {
window.location = 'mypage.html', true;
    
  }
}

&

<div id="form">
<form name="myForm" onsubmit="return validateForm()" method="post">
<input id="answer" type="text" name="fname"><br>
<input type="submit" id="submit" value="Submit">
</form>

这是以前工作的版本(没有 java 的最后一部分):

<div id="form">
<form name="myForm" action="mypage.html" onsubmit="return validateForm()" method="post">
<input id="answer" type="text" name="fname"><br>
<input type="submit" id="submit" value="Submit">
</form>
</div>  

【问题讨论】:

  • 据我了解,当您的表单得到验证时,您不会被重定向到该页面。对吗?
  • 是的,没错!
  • 你试过window.location.href = 'mypage.html' 吗?
  • 是的,只是刷新页面:(

标签: javascript html forms button


【解决方案1】:

以下是您可以在方法中使用的一些方法: case :1 当您想要重定向到新页面并且不允许用户导航到原始页面时

window.location.replace("url"); 

此函数从历史记录中删除条目

案例 :2 当您想要重定向到新页面并允许用户导航到原始页面时

window.location.assign("url");

此函数将新 URL 添加到历史堆栈并重定向到新 URL

你也可以参考这个:

https://www.tutorialrepublic.com/codelab.php?topic=faq&file=jquery-auto-redirect-to-another-page

我希望它有效。

【讨论】:

  • 谢谢,不幸的是同样的问题发生了。页面被重新加载而不是重定向:(
  • 能否请您在提交时从下一页删除?
  • 然后每次我按下提交时它都会刷新页面(无论文本值)
  • 我仍然有疑问,因为您使用的是纯 js,所以在所有情况下,您的页面都将被重定向到新页面并且 URL 发生了变化,那么为什么您不想在表单中使用操作?
  • 这是一种升级的情况。为了让用户解锁下一页,他们需要在前一页输入正确的信息。因此我不希望他们能够直接在源代码中看到链接 - 所以他们不能那么容易地复制/粘贴它。
猜你喜欢
  • 2018-10-14
  • 2014-07-23
  • 2020-12-22
  • 1970-01-01
  • 2012-04-26
  • 2018-10-12
  • 1970-01-01
  • 1970-01-01
  • 2016-06-25
相关资源
最近更新 更多