首页 新闻 会员 周边

为什么不执行javascript?

0
[已解决问题] 解决于 2012-03-02 15:06

function check()
        {
            alert("aaaaaaaa");
           // var logType=window.document.getElementById("logType").value;//日志类型
            alert("日志类型"+logType);
            var logTitle=window.document.getElementById("logTitle").value;//日志标题
            alert("日志标题"+logTitle);
            var logContent=window.document.getElementById("logContent").value;//日志内容
            alert("日志内容"+logContent);
            var logTime=window.document.getElementById("logTime").value;//填写时间
            alert("填写时间"+logTime);
            var p=/^\s+$/;// 验证是否只有空格    
            if(logTitle=="")
            {
                alert("=========");
                window.document.getElementById("title").innerHTML="<font color='red'>日志标题不能为空!</font>"
                return false;
            }
            if (p.test(logTitle))
            {
                alert("日志标题不能为空格!");
                return false;
            }
            if(logContent == "")
            {
                alert("日志内容不能为空!");
                return false;
            }
            if(logType == "")
            {
                alert("日志类型不能为空!");
                return false;
            }
            if (logTime == "")
            {
                alert("填写日期不能为空!");
                return false;
            }
            return true;
        }
不知道什么原因,只输出“aaaaaaaa”后,就什么也不执行,就提交了

莫说的主页 莫说 | 菜鸟二级 | 园豆:210
提问于:2012-02-06 10:04
< >
分享
最佳答案
0

你把logType注释了所以alert("日志类型"+logType);找不到对象

如果解开logType的注释也不行很有可能是window.document.getElementById("logType")为null

迷恋郭德纲 | 初学一级 |园豆:67 | 2012-02-07 15:12

可是我取消注释后,只输出aaaaa,然后假如我没有填值的话,就会输出“日志类型null”(如果有值则输出值),然后提交,以上是火狐出现的情况,但是我在IE8中测试了一下,都可以进行验证,不会在不符合条件的情况下提交的,会不会是兼容问题呢?可是我之前写的验证也可以执行,而且是在火狐上,并且和这个验证的结构类似。

莫说 | 园豆:210 (菜鸟二级) | 2012-02-07 17:11
其他回答(8)
0

你的代码不完整

artwl | 园豆:16736 (专家六级) | 2012-02-06 10:14

哪里不完整啊,还缺少什么啊,这是我整个方法,没有截取啊

支持(0) 反对(0) 莫说 | 园豆:210 (菜鸟二级) | 2012-02-06 10:22
0

logType是什么?你传进方法了吗?

不行就用一下调试工具看看那里出错了? firefox下的firebug插件很好用,出错信息在控制台都可以看到,chrome自带的也不错,试试吧

谦行 | 园豆:473 (菜鸟二级) | 2012-02-06 10:19

logType是名字而已,是<select name="logType" id="logType" ></select>的id名啊

支持(0) 反对(0) 莫说 | 园豆:210 (菜鸟二级) | 2012-02-06 10:25

@莫说:  // var logType=window.document.getElementById("logType").value;//日志类型

你把这句注释了

 alert("日志类型"+logType); 中 logType 变量就未定义了

支持(0) 反对(0) 谦行 | 园豆:473 (菜鸟二级) | 2012-02-06 10:46
0

用firebug的断点调试功能看下

思齐_ | 园豆:205 (菜鸟二级) | 2012-02-06 10:21

好的,谢谢。但是我在fireFox里面的错误控制台里面没发现有什么错误啊

支持(0) 反对(0) 莫说 | 园豆:210 (菜鸟二级) | 2012-02-06 10:26
0

将      // var logType=window.document.getElementById("logType").value;//日志类型  

修改为 var logType=window.document.getElementById("logType").value;//日志类型

Plusone | 园豆:344 (菜鸟二级) | 2012-02-06 13:51
0

因为你把 第 3行 注释了 // var logType= 

慧☆星 | 园豆:5640 (大侠五级) | 2012-02-07 09:10
0

logType的定义注释了,所以下面的下面的logType就没有定义,出错了,js不再执行了。

水晶途途 | 园豆:1443 (小虾三级) | 2012-02-07 11:39

我不注释也是这个问题,我这是在测试是不是logType的问题,所以才注释的,但是后面的仍不执行,所以logType这句话没错

支持(0) 反对(0) 莫说 | 园豆:210 (菜鸟二级) | 2012-02-07 12:44

@莫说: 页面有没有id为logType这个元素?js如果中间出错,后面的就不执行的,这样的问题,你用firebug调试一下就知道了啊。

支持(0) 反对(0) 水晶途途 | 园豆:1443 (小虾三级) | 2012-02-07 14:07
0

经本人在火狐和ie6上测试,去掉注释,以上代码可以正常工作。页面中用的html代码如下:

 1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>Insert title here</title>
6 </head>
7 <body>
8 <form action="" onclick="return check();">
9 <select name="logType" id="logType"></select> <select name="logTitle"
10 id="logTitle"></select> <select name="logContent" id="logContent"></select>
11 <select name="logTime" id="logTime"></select>
12 <div id="title"></div>
13 <input type="submit" />
14 </form>
15 <script type="text/javascript">
16 function check() {
17 alert("aaaaaaaa");
18 var logType = window.document.getElementById("logType").value;//日志类型
19 alert("日志类型" + logType);
20 var logTitle = window.document.getElementById("logTitle").value;//日志标题
21 alert("日志标题" + logTitle);
22 var logContent = window.document.getElementById("logContent").value;//日志内容
23 alert("日志内容" + logContent);
24 var logTime = window.document.getElementById("logTime").value;//填写时间
25 alert("填写时间" + logTime);
26 var p = /^\s+$/;// 验证是否只有空格
27 if (logTitle == "") {
28 alert("=========");
29 window.document.getElementById("title").innerHTML = "<font color='red'>日志标题不能为空!</font>"
30 return false;
31 }
32 if (p.test(logTitle)) {
33 alert("日志标题不能为空格!");
34 return false;
35 }
36 if (logContent == "") {
37 alert("日志内容不能为空!");
38 return false;
39 }
40 if (logType == "") {
41 alert("日志类型不能为空!");
42 return false;
43 }
44 if (logTime == "") {
45 alert("填写日期不能为空!");
46 return false;
47 }
48 return true;
49 }
50 </script>
51 </body>
52 </html>



归去来 | 园豆:212 (菜鸟二级) | 2012-02-11 14:46

好的,我看看是不是别的地方的错误,谢谢!

支持(0) 反对(0) 莫说 | 园豆:210 (菜鸟二级) | 2012-02-13 12:51
0

貌似是别的地方有问题

莫说 | 园豆:210 (菜鸟二级) | 2012-03-02 15:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册