网站开发日志

2009年10月5日星期一

分享家:Addthis中国

JavaScript在IE6下报错'expected identifier, string or number'

最近一段时间在项目开发里用了许多jQuery的插件,有机会一定在本日志里写一些心得。今天不准备介绍jQuery插件,而是要介绍我在使用jQuery表单插件时碰到的一个问题。jQuery表单插件应该算是家喻户晓的jQury插件,我过去一直没有用它,因为jQuery插件一般体积都挺大的,如果只是需要一些简单的功能,我一般都是自己写。比如jQuery表单的处理,我在日志里介绍过,一般情况下懂的这些基本概念,就可以完成大部分任务了。但是这次的情况比较特别,自己写比较麻烦,而且一定不如jQuery表单插件有效率。

我把下列代码加入我的HTML模板文件:

<script type="text/javascript">
$(document).ready(function() {
    var options = {
        target: '.content',
        //beforeSubmit:  showRequest,  // pre-submit callback 
        //success:       showResponse  // post-submit callback 
    };
    // bind to the form's submit event
    $('#bill_addr_form').submit(function() {
        $(this).ajaxSubmit(options);
        return false;
    });
});
</script>

我把选项(options)里的beforeSubmit 和success注释掉,代码在Forefox和IE8下工作正常,但是在IE6下报错:

expected identifier, string or number

上网搜了一下,发现这只是一个很低级的错误。如果变量options有多个选项,那么我们可以用逗号分开;但是最后一个选项后不可以有逗号。虽然IE8和Firefox可以忽略这个逗号,但是IE6下会报错(据说IE7下也会报错)

解决方法很简单,把多余的逗号删除就可以了。

var options = {
        target: '.content' //注意不可以加逗号
    };

标签: ,

相关文章:

1 条评论:

  • 哈哈,这个问题我也遇到过。有时为了测试而注释程序的时候,要格外仔细和小心。有时测试了半天,逻辑是对的,但一个低级错误往往会把你本来清楚的逻辑再次搞乱。

    作者 Anonymous itpretty, 时间 2010年3月25日上午6:10  

发表评论

指向此帖子的链接:

创建链接