*{margin:0;padding:0;}input{outline:none;border:无;}学前端这么久,一直没有详细总结自己的心得,只把一些零星的心得记在笔记里。今天来谈谈我第一次在写from形式的过程中总结的事情:首先我个人认为最难也是最重要的一点:我们的程序出现问题怎么解决?在编写一段代码的时候,背后总有各种各样的因素影响着代码的运行效果。我将错误的最具体原因理解为问题的根本原因。找到根源,往往一切问题都会迎刃而解。那么我们如何才能找到根本原因呢?第一种是问人,第二种是上网查,第三种是查书,最后一种笨办法就是把所有受影响的元素都找出来,一个一个修改代码来消除。很多时候,我们认为正确的事情实际上是错误的。废话不多说,来看看我遇到的问题:1.关于标签的唯一属性*{list-style:none;}这段代码是给我省事的,把list-style放在通配符里*,但是错了,list-style是li标签的一个属性,li应该把list-style定位到li:li{list-style:none;}。2.单选按钮可以同时选中男女当上面的代码运行起来,你会发现这两个单选按钮可以同时被选中,因为input标签缺少name属性。对于我这个前端新手,每次写input标签的时候,name属性经常被省略。我明白input标签的name属性和type属性是必须的。MaleFemale所以只要给input标签加上name属性就不会了单选按钮可以同时被选中的尴尬就出现了。3.设置样式时有冲突。我想当输入框失去焦点时,如果里面的内容是空的,边框会变成红色:*{margin:0;padding:0;}input{outline:none;border:无;}上面的代码没有达到预期的效果,因为我之前写样式的时候加了border:none;,而且我判断的时候出错了,length用来保存字符串的长度,不能用来判断value是否为空,应该这样写:*{margin:0;padding:0;}input{outline:none;border:1pxsolid#000;box-sizing:border-box;}- <我nputid="ipt_phone"type="text"name="name">
四、正则g的错误使用*{margin:0;padding:0;}input{outline:none;border:1pxsolid#000;box-sizing:border-box;}上面的代码是如果输入错误的电话号码时输入丢失当焦点打开时,边框变成红色,但是当程序运行时,我输入了正确的电话号码。当输入失去焦点时,边框变为黑色。当输入再次获得焦点然后再次失去焦点时,边框变为红色。原因是我在写regex的时候用了全局匹配g。这里g的特点是匹配成功后,会记录匹配成功后的位置,下一次匹配会从上一次匹配成功的结束位置开始,所以在使用正则匹配的时候,如果只匹配一个结果,g不应出现五、阻止表单提交及提交与div交互*{margin:0;padding:0;}input{outline:none;border:1pxsolid#000;box-sizing:border-box;}这是当表单不符合要求时,阻止代码提交表单,但是写表单的时候不可避免的要用到ajax,所以submit应该换成div:*{margin:0;padding:0;}input{outline:none;边框:1px实心#000;box-sizing:border-box;}#ipt_submit{width:50px;height:20px;背景:#ccc;光标:指针;文本对齐:居中;行高:20px;}submit