首先,我不是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
}
答案 0 :(得分:2)
这是你的问题:
document.forms[i].onsubmit=thisForm(document.forms[i]);
您正在调用thisForm()而不是将其设置为函数引用。最简单的方法是制作一个闭包:
document.forms[i].onsubmit=function(){thisForm(document.forms[i])};