在表单onsubmit功能完成后停止浏览器加载

时间:2017-02-16 18:55:04

标签: javascript html

我有一个JavaScript,它生成一个带有onsubmit事件处理程序的表单。表单定义如下:

document.writeln('<form action="#" id="loginForm" onsubmit="processLoginForm(this);">');

在这个processLoginForm()函数中我基本上打印一个表单值并返回:

function processLoginForm(form) {
    var userName = form.uname.value;
    document.writeln("username = "+userName+"<br>");
    return false;
};

加载此表单后,浏览器加载完成并完成。加载页面由浏览器完成。但是当我点击按钮提交表单时,我的代码会被处理,但我的浏览器仍在尝试加载显示此加载图标的内容并且永不停止。我尝试在processLoginForm()函数中返回true,false或nothing,但它没有任何影响。

如何在我的提交处理程序完成后让浏览器停止加载?

1 个答案:

答案 0 :(得分:0)

我建议不要将您的函数内联到HTML中。而是这样做:

HTML

<form action="#" id="loginForm">

的JavaScript

document.getElementById('loginForm').onsubmit = function(event){
    event.preventDefault();
    //continue to process the form
} 

附加到事件侦听器中自动传递的event.preventDefault()参数的event方法将取消处理程序的默认操作。在这种情况下,尝试加载位于/#的页面(根据您的表单操作)。