V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
lvfujun
V2EX  ›  JavaScript

Javascript 阻止默认事件问题.求教

  •  
  •   lvfujun · 2015-01-11 18:34:51 +08:00 · 2765 次点击
    这是一个创建于 3605 天前的主题,其中的信息可能已经有所发展或是发生改变。
    document.getElementsByName('form')[0].onsubmit = function(){
        var input = document.getElementsByClassName('Input');
        for (var i = 0; i <= input.length; i++) {
            if(!input[i].value){
                document.getElementsByClassName('error')[i].style.visibility = "visible";
            }
        };
        return false;
    }
    

    只要在代码中加入 input[i].value 就没法阻止提交
    去掉.value 像 input[i] 这样就可以阻止提交事件
    求大牛分析一下......为什么获取value值会影响到return false
    求解决办法!

    9 条回复    2015-01-12 22:22:17 +08:00
    sumhat
        1
    sumhat  
       2015-01-11 18:57:31 +08:00 via Android   ❤️ 1
    DomElement没有.value属性,你用.value 的时候应该是exception 了
    iyangyuan
        2
    iyangyuan  
       2015-01-11 19:25:50 +08:00   ❤️ 1
    for (var i = 0; i <= input.length; i++) 这里应该是i < input.length。你写<=,input[i]肯定会undefined,然后读取.value属性异常,return false当然失效了。
    lvfujun
        3
    lvfujun  
    OP
       2015-01-11 22:35:53 +08:00
    @sumhat 哦哦谢谢能给个详细的代码吗?
    lvfujun
        4
    lvfujun  
    OP
       2015-01-11 22:36:41 +08:00
    @iyangyuan 把for去掉也不行只要出现了value就出错!
    jidixuelang
        5
    jidixuelang  
       2015-01-11 23:13:23 +08:00
    没有任何调试信息的吧!
    thinkmore
        6
    thinkmore  
       2015-01-12 09:35:30 +08:00
    建议你查一下JavaScriptAPI,就大家说的value那里有点问题,我记得好像是nodeValue吧!查API吧,或者console.info(input[i].value)(火狐有效)试一试
    leonlu
        7
    leonlu  
       2015-01-12 10:10:44 +08:00
    建议先学一下chrome调试相关的文章.

    浏览器提供的api绝大部分情况下是不会出问题的, 绝大部分问题都是因为自己的代码写的不对.

    要定位问题, 而不是乱猜问题. "咦? 好像这是里错了吧....这样写一下就应该对了吧..."是程序员最不应该犯的错误.
    lvfujun
        8
    lvfujun  
    OP
       2015-01-12 22:21:32 +08:00
    @leonlu 恩恩好的.
    lvfujun
        9
    lvfujun  
    OP
       2015-01-12 22:22:17 +08:00
    已解决感谢各位.exception之后就可以了.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2604 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:32 · PVG 08:32 · LAX 16:32 · JFK 19:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.