<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>
您好,由于某些原因,当我单击“提交”按钮时,该错误不会出现,而只会直接转到该页面。如何使程序检查验证,当确定时,重定向到新页面?
答案 0 :(得分: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。
答案 1 :(得分:1)
因此,这是根据您更新的代码得出的答案:
<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;
语句在这里非常重要。它将向false提交事件返回false,这将阻止提交表单。如果您删除了return false;
语句,那么window.location
也将起作用,但由于提交表单,您将看到它似乎不起作用,并且您将看到同一页面,而不是重定向到另一页面。>
我添加了onsubmit事件,该事件仅在所有输入均有效时才调用该函数