在网上看了.net批量上传图片的一个例子。 在提交之前会用调用一段js作文件类型判断。下面这些东西看不太明白了。
哎~ 小妹才疏学浅望各位学长帮忙!<script type="text/javascript">
        function $(o){return document.getElementById(o);}
        function CheckImgCss(o,img)
        {
            if (!/\.((jpg)|(bmp)|(gif)|(png))$/ig.test(o.value))
            {
                alert('只能上传jpg,bmp,gif,png格式图片!');
                o.outerHTML = o.outerHTML;
            }
            else
            {
                $(img).filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=o.value;
                //$('Image1').src = o.value;//这里IE7已经不支持了。所以才有上面的方法。
            }
        }
    </script>
o.outerHTML = o.outerHTML; 
ig.test(o.value)    均不知其意
另外input type="file" onchange="CheckImgCss(this, 'img');" 这个上传按钮触发CheckImgCss后,如果格式不正确第二次选择文件再也不会触发onchange!关键就是在里!

解决方案 »

  1.   


    o.outerHTML 是input type="file" onchange="CheckImgCss(this, 'img');"这个标签的html代码,还包含
    该标签的body(<b>这里面的内容就是body部分</b>)代码;你用alert弹出来看看就知道了
    ig.test(o.value)这个是正则验证,test会返回一个true/false的结果<script type="text/javascript">
    var str = "Visit W3School";
    var patt1 = new RegExp("W3School");var result = patt1.test(str);document.write("Result: " + result);
    </script>
      

  2.   

    去掉这个应该可以了o.outerHTML = o.outerHTML;这个不要
      

  3.   

    ig是什么对象啊?  没有听说过啊!  是正则里面的吗?去掉这个o.outerHTML = o.outerHTML之后 就只会提示类型不对,那个file的框框里的内容就不会清除了。这样用户就可以提交了啊! 你试试咯! 
      

  4.   


    i 执行对大小写不敏感的匹配。 
    g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 
    m 执行多行匹配。