【问题标题】:How to redirect user to another html page *ON LOCAL STORAGE* after clicking Submit button单击提交按钮后如何将用户重定向到另一个 html 页面 *ON LOCAL STORAGE*
【发布时间】:2018-11-11 01:17:22
【问题描述】:
<html>
<head>
    <script>
    function myFunction() {
    location.replace("https://www.w3schools.com")
    }
    </script>
</head>
    <body>
    <form action="/action_page.php">
    <input type="text" name="username" pattern="[a-zA_Z].{7,}" title="Unsuccessful Login, Username must contain at least one integer and one letter, and at least 7 or more characters">
    <input type="button" name="B1" value="Submit" onclick="myFunction()">
    </form>
    </body>

您好,由于某种原因,当我单击提交按钮时,没有出现错误,而是直接进入页面。如何让程序检查验证并在正常时重定向到新页面??

【问题讨论】:

  • 重定向逻辑要设置在action_page.php中
  • 如果能提供更多代码就更好了
  • 我不知道该怎么做。这就是我的全部
  • @pravinnavle 代码的目的是。如果用户名符合验证条件,它会自动加载我存储中的“test1”页面。
  • 我让它重定向但验证不起作用

标签: html


【解决方案1】:

我建议你采用这种方法

使用以下代码创建一个 test.php 文件:

     <form method="post">
                Username: <input type="username" name="username" pattern="(?=.*\d)(?=.*[a-z]).{7,}" title="Must contain at least one integer and one letter, and at least 7 or more characters">


            <button type="submit" value="submit" class="btn btn-primary">Submit</button>
          </form>

<?php


if (isset($_POST['submit'])) { ?>
    <script language="javascript" type="text/javascript">
        window.location = 'your location';
    </script>
<?php
}
?>

这将为您提供所需的功能。 注意:要运行它,如果您正在运行 windows,则需要安装 xampp 或 wamp;如果您正在运行 linux,则需要安装 lamp。

【讨论】:

  • 看上面的代码。我已经编辑过了,现在不用看验证直接进入网页了
  • 请检查新的答案,如果它适合你,请接受它
【解决方案2】:

所以这是根据您更新的代码的答案:

<html>
    <head>
        <script>
        function myFunction() {
        window.location.href = 'https://www.w3schools.com';
        return false;
        }
        </script>
    </head>
        <body>
        <form onsubmit="return myFunction()">
        <input type="text" name="username" pattern="^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+){5,}" title="Login Unsuccessful. Username must contain at least one integer and one character, and should be atleast 5 or more characters long" required>
        <input type="submit" >
        </form>
        </body>
    </html>

myFunction 中的return false; 语句在这里非常重要。它将向 obsubmit 事件返回一个 false ,这将阻止表单被提交。如果您删除 return false; 语句,那么 window.location 也将起作用,但它看起来好像不起作用,因为表单将被提交,您将看到相同的页面,而不是重定向到另一个页面。

我添加了 onsubmit 事件,该事件仅在所有输入都有效时才调用该函数

【讨论】:

  • 谢谢伙计。这可行,但如果我输入任何字符,例如 @ 或 /,它仍然会重定向。我应该进行什么验证来阻止这种情况?
  • 你能告诉我你想要的验证的确切条件,以便我可以告诉你它的正则表达式
  • 用户名应该是:(至少5个字符长,至少有1个字母和整数,除整数和数字外没有其他字符)
  • 检查我更新的答案,如果对您有帮助,请接受答案
  • 现在更新的模式将接受至少一个数字的 5 个或更多字符。它不会像你想要的那样接受像 @ 或 / 这样的特殊字符
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-22
  • 1970-01-01
  • 2013-07-18
  • 2013-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多