欢迎来到知了汇智!
联系电话:知了汇智-电话号码 028-62016472 / 13228113191

前端七个常见错误-知了汇智

前端七个常见错误

    第一,  文件无法上传。
    下面上传文件的代码经常写过,但是点击提交之后,却发现没有上传文件:
         <formaction="xx.php" method="post">
                   <inputtype="file" name="test">
                   <inputtype="submit" value="提交" />
         </form>
    究其原因,是form的enctype属性应该设置为:multipart/form-data
 
    第二:把a标签设置为按钮之后,点击会刷新页面
    在ide中敲入a,ide通过会自动补全代码,有时候会生成:
         <ahref="">按钮一</a>
    我们是把这个a标签设置为按钮的,但是发现触发js代码之后,页面会刷新。
    要解决这个问题,要么把href属性去掉,要么设置为#或者是javascript:void(0),比如href=”#”
 
    第三:在元素还没有构建之前,就获取元素
    在用jq的时候,有时候是直接是直接获取某个元素:
<scripttype="text/javascript">
                   varv=$('#test');
</script>
    但在这之后,对v的操作都会出现异常。
    这个是因为元素还没有构建好。要么是使用:
         <scripttype="text/javascript">
                   $(function(){
                            varv=$('#test');
                   })
         </script>
    等文档完成解析之后,再获取元素。要么是在该元素之后,获取:
         <aid='test'>test</a>
         <scripttype="text/javascript">
                            varv=$('#test');
         </script>
 
    第四:form不会提交
    当form跟table接合在一起的时候:
<table>
<form>
         <tr>
                   <td><inputtype="text" name="test"></td>
         </tr>
</form>
</table>
    会发现提交之后,name=’test’是没有这个的。通过调试会发现,form开始标签跟结束标签会挤在一起。
    需要把form放在table之外,才不会有这个问题。
    因此需要注意,不要把form放在table,tr之内,但是可以在td之内。
 
    第五:网页乱码
    当文件是以某种编码的方式保存,而浏览器使用另外一种编码解析的话,就会出现乱码的问题,要解决这个问题,就应该在网页中,明确给出这个文件是以什么编码保存的。
如:
<metahttp-equiv="Content-type" content="text/html;charset=UTF-8"/>
 
    第六:文档模式
    文档模式常见有两种:过度、严格和框架
    使用不同的DTD不会影响CSS,但是会影响布局。
    原因是过渡比严格多了一些布局相关的元素(center等等)和一些属性(align等等)。
    而这些,都是会影响布局的。因此使用不同的文档模式,会看起来不同。
 
前端七个常见错误
 
    第七:setTimeout不会工作了
    如下代码:
         <scripttype="text/javascript">
 
                            functionhaha(){
                                     functiontest(){
                                               alert(123);
                                     }
                                     setTimeout('test()',100);
                            }
                            haha();
 
         </script>
    这是setTimeout并不会起作用,究其原因,就是setTimeout调用之后,并不会立即执行。而在js中,函数也是变量,在函数内定义函数,等于这个函数是局部函数。因此,在setTimeout中,调用的函数,必须是全局函数。
132 2811 3191
预约免费试学
点击咨询
预约试学