我下面的代码只是一个简单的验证器脚本/代码,用于检查字段是否为空,它会抛出错误消息,如果不是则重定向。不知何故,它不起作用,但我只是一个初学者。验证有效,但重定向时无效。
<body>
<div class="mail">
<h2>Input your Name and Submit</h2>
<form name="form1" onsubmit="required()">
<ul>
<li><input type='text' name ='text1'/></li>
<li class="rq">*Required Field</li>
<li><input type="submit" name="submit" value="Submit" /></li>
</ul>
</form>
</div>
<script src="non-empty.js"></script>
</body>
Javascript:
function required()
{
var empt = document.form1.text1.value;
if (empt === "")
{
alert("Please input a Value");
return false;
}
else
{
window.location.href = '../continue.php';
return true;
}
}
检查是否为空有效,但重定向如果不为空则不起作用。
最佳答案
好的,您有几个问题。您试图取消表单提交,但 onsubmit 处理程序中缺少返回语句。
<form name="form1" onsubmit="return required()">
下一个问题是您有一个表单正在尝试提交回自身,并且您正在设置位置。因此,您有两个具有竞争条件的操作,其中一个操作将获胜。所以你必须选择一个。您要么提交表格,要么更改位置。现在,如果您设置操作属性,表单可以更改位置。
<form name="form1" onsubmit="return required()" action="NewPage.html">
和脚本:
function required() {
var empt = document.form1.text1.value;
if (empt === "") {
alert("Please input a Value");
return false;
}
return true;
}
或者在 else 中返回 false 并像以前一样设置位置。
关于javascript - 如果使用重定向,JS 脚本将无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39969731/