javascript - 如果使用重定向,JS 脚本将无法正常工作

标签 javascript html if-statement redirect

我下面的代码只是一个简单的验证器脚本/代码,用于检查字段是否为空,它会抛出错误消息,如果不是则重定向。不知何故,它不起作用,但我只是一个初学者。验证有效,但重定向时无效。

<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/

相关文章:

javascript - 是否可以限制全选/Ctrl+A的范围?

javascript - 我在 ng-keyup 上调用一个函数在数据库中搜索,得到结果后我在 DIV 中显示结果..?

java - 如何简化 .filter 主体中的巨大 if 语句?

algorithm - 嵌套 if 与 and 条件

java - 无法在 onSingleClick 中使用 if 语句?双击时还需要 PDF 加载器

javascript - 单击后我的按钮一直在消失

javascript - 如何在一个标签中调用两个 Action 链接?

javascript - 如何处理nodejs缓冲区(长度不确定)

c# - .Net 是否有支持 html5 视频(WebRTC)的 Webbrowser 控件?

javascript - 使用 Cheerio 抓取多个网页