【发布时间】:2016-04-27 05:48:20
【问题描述】:
我在使用 JS 验证表单时遇到了一些问题。
这是 HTML,
<form action="xyz.php" method="post">
<div class="form-group">
<label class="sr-only" for="id1">Enter ID</label>
<input type="text" class="form-control" name="id1" id="id1">
</div>
<button onclick="validateID()" type="submit" name="submit" class="btn">Submit</button>
</form>
这是JS,
<script>
function validateID() {
var id = document.getElementById("id1").value;
var reg1 = new RegExp("^([0-9][0-9][0-9])$");
if (!(reg1.test(id))) {
document.location.href= "http://www.errorpage.com";
}
}
</script>
它应该根据正则表达式检查提交的表单值,如果验证失败,它必须重定向到错误页面。
但是,它不会重定向。当我用 alert() 代替 document.location.href= "http://www.errorpage.com"; 时,它可以工作。
感谢您的帮助。
【问题讨论】:
-
你可以试试window.location.href
-
我认为这与 location.href 无关。这是因为按钮类型是提交并且表单执行默认操作并将表单提交到 xyz.php。这就是为什么当他发出警报时。有用。请参考我下面的回答
-
所以需要返回0;在 location.href 之后?
标签: javascript php