html - 使用 window.location.href 重定向表单提交

标签 html forms

尝试这个简单的代码,我很惊讶它没有工作,我们开始吧:

<form method="get" action="" >
    <input type="submit" value="validate" onclick="redirect(); alertIt(); "/>
</form>
<script>
    function redirect(){
       window.location.href = "test.html" ;
    }
</script>
<script>
function alertIt(){
   alert("redirect");
}
</script>

代码只是应该在单击提交按钮时重定向到“test.html”,但它没有这样做。另一方面:alertIt() 工作正常...我的问题如下:将事件处理到表单中是否有一些我应该知道的特殊规则?

最佳答案

如果您不想提交表单,则需要返回 false。

function redirect(){
       window.location.href = "test.html" ;
}

应该是

function redirect(){
    window.location.href = "test.html" ;
    return false;
}

您还应该 Hook submit 事件,最好不要 Hook click 事件,然后在处理程序中返回。

onclick="return redirect(); alertIt(); " 

会工作(但不会提醒)

最佳情况下,您要做的是向表单(例如 myForm)添加一个 ID 并为其附加一个事件。

document.getElementById("myForm").addEventListener("submit",function(){
    alertIt();
    return redirect(); 
},false);

关于html - 使用 window.location.href 重定向表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16679803/

相关文章:

javascript - 如何使用 javascript 使子行在单击父行时可见

C# 2005 : Remove icon from the form's title bar

javascript - 如何提交表单而不重定向到其操作页面?

javascript - 为所有最新浏览器和所有文档类型(xhtml、html、html5)重置默认颜色 css 设置的所有已访问站点颜色

javascript - 如何在jquery中不重复自己

javascript - AngularJS - 如何验证元素指令?

html - 表单调整大小中的 CSS/HTML 文本区域

javascript - 在 Parse.com 上注册 JS jQuery

html - CSS+Vueitfy 填充剩余高度并根据需要添加滚动条

html - Firefox 上的 CSS 布局问题,左列末尾和页脚之间有填充空间