草庐IT

javascript - 未捕获的类型错误 : Cannot read property 'style' of undefined while try to change style of given element

coder 2023-08-10 原文

我尝试学习 javascript 和 ajax,所以我编写了任何我想更改表单中给定元素样式的脚本。我从 2 天开始就尝试这样做,但没有任何效果——我仍然有错误“未捕获的类型错误:无法读取未定义的属性‘样式’”。我在下面包含了我的 html 和 js 代码。请告诉我我做错了什么:

html:

<div id="registerNewUser" class="tabContent">
                  <h1>Registration form</h1>
                  <form action='#' name='registerForm' id='registerForm'> 
                    <table style='width: 25%;'>
                        <tr>
                            <td>Name:</td><td><input type="text" style="border: 1px solid #000;" id='name' name='name' size ="10" onClick='changeStyle(this.id);' onBlur='checkFieldName();'></td>
                            <td><div id='divName'></div></td>
                        </tr>
                        <tr>
                            <td>Second Name:</td><td><input type="text" style="border: 1px solid #000;" id='secondName' name='secondName' size="10" onClick='changeStyle(this.id);' onBlur='checkFieldSecondName();'></td>
                            <td><div id='divSecondName'></div></td>
                        </tr>
                        <tr>
                            <td>Password:<sup style='cursor: help' title="Password must have at least 6 characters">*</sup></td><td><input type="password" style="border: 1px solid #000;" id='password' name='password' size="10" onClick='changeStyle(this.id);' onBlur='checkFieldPassword();'></td>
                            <td><div id='divPassword'></div></td>
                        </tr>
                        <tr>
                            <td>Retype Password:<sup style=' cursor: help' title="Password must have at least 6 characters">*</sup></td><td><input type="password" style="border: 1px solid #000;" name="retypePassword" id='retypePassword' size="10" onClick='changeStyle(this.id);' onBlur='checkFieldRetypePassword();'></td>
                            <td><div id='divRetypePassword'></div></td>
                        </tr>
                        <tr>
                            <td>Email:</td><td><input type="text" style="border: 1px solid #000;" id='email' name='email' size="10" onClick='changeStyle(this.id);' onBlur='checkFieldEmail();'></td>
                            <td><div id='divEmail'></div></td>
                        </tr>
                    </table>
                  </form>
              </div>

JavaScript:

var registerForm=document.getElementById('registerForm'); // register form

function changeStyle(element)
{
    registerForm.element.style.border='1px solid #fff';
}

提前致谢。

最佳答案

需要通过ID获取元素:

document.getElementById(element).style.border = '1px solid #fff';

关于javascript - 未捕获的类型错误 : Cannot read property 'style' of undefined while try to change style of given element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16251353/

有关javascript - 未捕获的类型错误 : Cannot read property 'style' of undefined while try to change style of given element的更多相关文章

随机推荐