onFocus时,如何更改所有表单元素的样式

How do I change the style of all form elements when onFocus

本文关键字:表单 元素 样式 何更改 onFocus      更新时间:2023-09-26

我成功地完成了一个表单的验证功能,当它发现错误时,我希望在单击任何表单元素时删除所有表单元素上的红色边框。我知道如何用onFocus调用函数,但问题是我不知道如何以元素为目标,而不知道元素的值。这是我遇到错误的函数:

   function clearFormErrors(x) {
        var element = document.forms[x].elements;
        for(i = 0; i = element.length; i++) {
            element[i].style.borderColor = "#000";
        }
    }

如何针对输入字段而不是内部值将边框更改为黑色?

如上所述,您的循环应该是<。

但是,如果您只想以"inputs"为目标,那么还应该检查nodeName。

   function clearFormErrors(x) {
        var element = document.forms[x].elements;
        for(i = 0; i < element.length; i++) {
            if (element[i].nodeName.toLowerCase() == "input") {
                element[i].style.borderColor = "#000";
            }
        }
    }