ZBLOG

body { font-family: "Microsoft Yahei" } label,input{ display:block; width:300px; } input#submit { border: none; background-color: #2F79BA; ...

在你提供的代码中,如果 name 的输入框在失去焦点时没有正确变色,可能与以下几个因素有关:

  1. 确保 HTML 元素存在:请确保你的 HTML 中确实有 ID 为 namename_p 的元素。示例如下:

    <form>
        <div>
            <label for="name">姓名:</label>
            <input type="text" id="name">
            <p id="name_p">请输入4到16个字符</p>
        </div>
        <!-- 其他输入框... -->
    </form>
    
  2. JavaScript 执行顺序:确保 JavaScript 代码在 DOM 完全加载之后执行。如果你的 <script> 标签位于页面 <head> 部分或者在使用相关元素之前,可能会导致 document.getElementById('name') 返回 null。可以通过将 <script> 标签放在文件底部或者使用 DOMContentLoaded 事件来解决这个问题。例如:

    document.addEventListener("DOMContentLoaded", function() {
        var name = document.getElementById('name');
        var name_p = document.getElementById('name_p');
    
    
        name.addEventListener('blur', function() {
            var name_v = name.value;
            var name_l = name_v.length;
    
    
            if (name_l < 4 || name_l > 16) {
                name.style.borderColor = 'red';
                name_p.style.color = 'red';
            } else {
                name.style.borderColor = '#888';
                name_p.style.color = '#BBBBBB';
            }
        });
    });
    
  3. CSS 样式优先级:如果你有其他 CSS 样式影响了边框或文本颜色,请检查是否有更高优先级的选择器覆盖了你通过 JavaScript 设置的样式。

  4. Console 错误:打开浏览器的开发者工具(通常按 F12),查看 Console 面板是否有任何错误信息。这可能会帮助你找到潜在的问题,比如未定义的变量或错误。

  5. HTML 验证失败:确保你的输入字段没有启用任何默认验证(如 required, minlength, 等),这可能会阻止 JavaScript 正常工作。

综上所述,请仔细检查这些方面,并确保所有相关元素和脚本都被正确加载和调用。希望这些建议能帮助你找到并解决问题!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=6327

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?