javascript - onload 运行意外代码

标签 javascript forms

我正在编写一个 javascript 片段来验证注册表单字段。 出于某种原因,onsubmit 函数在页面加载时也会被调用。

window.onload = function validate_signup_form() {

var form_element = document.getElementById("signup_form");
var onload_values = document.forms["signup_form"];
var test = onload_values.elements[0].value;
var required_fields = new Array();

document.getElementById("signup_form").onsubmit = check_values();

function check_values() 
{
    var current_values = document.forms["signup_form"];
    for (x in current_values) 
    {
        if (current_values[x].value == onload_values[x].value) 
        {
            // Error: The form values match the initial ones
            return false;
        } 
        elseif (current_values[x].value.toLowerCase() == onload_values[x].value.toLowerCase()) 
        {
            // Error: The form values match the initial ones
            return false;           
        }
        elseif (current_values[x].value.toUpperCase() == onload_values[x].value.toUpperCase()) 
        {
            // Error: The form values match the initial ones
            return false;           
        }
    }
};
};

不应该检查_values();仅在提交时运行?

最佳答案

您正在将 onsubmit 属性设置为由 check_values() 返回的值;更改为以下内容:

document.getElementById("signup_form").onsubmit = check_values;

关于javascript - onload 运行意外代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14985359/

相关文章:

javascript - css3 动画和 jquery(悬停翻转卡)的视觉问题

PHP 仅在成功提交后表示感谢

javascript - 如何创建一个简单的表单并将其中一个字段传递给另一页中的脚本

javascript - 如何根据值为 HTML 表格单元格着色

javascript - 如何复制 div onclick 事件?

javascript - 使用 js 正则表达式验证 gsheet/excel 相对范围字符串

php解析将变量从表单传递到数据库时出错

javascript - onchange 2个功能在1个下拉

javascript - 是否可以通过单击所选的一个(在 React 中)来取消选择 <Radio/>?

匿名函数中的javascript奇怪行为