Javascript 现场检查所有表格
我需要在我的网站上查看一些表格(~10)。Javascript 现场检查所有表格,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我需要在我的网站上查看一些表格(~10)。 我写了一个函数,它会改变输入的类别,所以它们会变成红色。 此代码不工作,因为返回validate(),但如果我删除返回并只分配处理程序,则所有输入都将带有.error类,已在页面加载中 我必须做些什么才能使其正常工作?您需要将函数引用分配给onsubmit处理程序,而不是validate方法返回的值 formList[i].onsubmit = validate; //this inside validate will refer to the su
我写了一个函数,它会改变输入的类别,所以它们会变成红色。
此代码不工作,因为
返回validate()代码>,但如果我删除返回并只分配处理程序,则所有输入都将带有.error类,已在页面加载中
我必须做些什么才能使其正常工作?您需要将函数引用分配给onsubmit处理程序,而不是validate方法返回的值
formList[i].onsubmit = validate; //this inside validate will refer to the submitted form
演示:
但是我更喜欢使用jQuery提交处理程序(这个
在validate方法中会引用单击的表单)
演示:
注意:它有一个缺点,即由于您从validate返回false
,它将阻止默认操作和提交事件的传播。函数validate的默认返回为true,而不是false,只有在找到至少一个空白字段时才会变为false。您的代码允许提交空白表单,无需任何编辑。我在问题中添加了函数validate()
@Arun P JohnyForm仅当所有字段为空时才提交。如果至少提交1份填写字段的表格。这是不对的@阿伦·P·约翰只是一个提示。如果在控件和jQuery之间循环,很可能是做错了什么。
window.onload = function() {
var formList = document.getElementsByTagName("form");
for (var i=0; i < formList.length; i++)
formList[i].onsubmit = return validate();
}
formList[i].onsubmit = validate; //this inside validate will refer to the submitted form
jQuery(function(){
$('form').submit(validate)
})