在window.onload上调用Onsubmit

时间:2012-03-10 22:56:24

标签: javascript

首先,我不是JavaScript专家,只是学习,尝试按照一些教程。 我希望JavaScript做的是,在提交表单时对字段进行验证。

我到目前为止编写的代码在页面加载/重新加载时触发,这不是我想要的功能。根据我的理解,这个formFunction应该只在onsubmit事件上调用。 伙计们,如果你看到我做错了什么,请告诉我。我想构建一个javascript函数,它将在提交时验证页面上的所有表单 以下是我到目前为止提出的JavaScript步骤:

在window.onload上调用checkForms函数

window.onload=checkForms; 

2遍历页面上的所有表单并为页面表单添加onsubmit侦听器

function checkForms(){
    for(var i=0; i<document.forms.length; i++){
        document.forms[i].onsubmit=thisForm(document.forms[i]);
    }
}

3在提交

时触发thisForm功能
function thisForm(thisForm){
    var elements = thisForm.elements;
    var msg='';
    for(var i=0; i<elements.length; i++){
        msg += elements[i].name +'\n';
    }
    alert(msg);
    // this is where I want to send field values to be validated
}

1 个答案:

答案 0 :(得分:2)

这是你的问题:

document.forms[i].onsubmit=thisForm(document.forms[i]);

您正在调用thisForm()而不是将其设置为函数引用。最简单的方法是制作一个闭包:

document.forms[i].onsubmit=function(){thisForm(document.forms[i])};