编程的时候,往往最可怕的,都是那些不起眼的小错误。
(1)button的类型问题
往往我们用了button标签就认为它是个按钮了,但它的type默认并不是button,在firefox和chrome下,button的type的缺省值为submit,详细见这里:http://blog.moocss.com/code-snippets/html-css-code-snippets/1408.html
代码:
1
以上代码,点击button页面会跳转到百度首页,正确的代码应该如下(显式地申明button的类型):
1
(2)让DIV自适应子元素内容
如果子元素没有任何停靠,父元素不要设置高度就可以了。
例如:
1 2 34 11 12 13 1421 2215 1617content
18content
19content
20
当然更多的情况没这么理想。
解决方法,这个方法的可贵之处在于不管父容器是否悬浮都能起作用,如果父容器已经悬浮,则可以去掉overflow和height属性
1 2 34 19 20 21 2231 3223 24252630content
27content
28content
29
其他方法可见地址:http://news.2ky.cn/14/3110.htm
一下为引用内容,防止地址失效:
Div即父容器不根据内容自适应高度,我们看下面的代码:以下是代码片段:当Content内容多时,即使main设置了高度100%或auto。在不同浏览器下还是不能完好的自动伸展。内容的高度比较高了,但容器main的高度还是不能撑开。 我们可以通过三种方法来解决这个问题。 一,增加一个清除浮动,让父容器知道高度。请注意,清除浮动的容器中有一个空格。 以下是代码片段:二,增加一个容器,在代码中存在,但在视觉中不可见。 以下是代码片段:三,增加一个BR并设置样式为clear:both。 以下是代码片段:Div即父容器不根据内容自适应高度,我们看下面的代码:投稿来源于:http://news.2ky.cn,转载需注明。
(3)PHP默认编码
在php.ini文件中添加default_charset = "UTF-8",设置PHP默认编码,然后重启apache。
(4)设置textarea中光标的位置
首先要使textarea获得焦点和光标,由于jquery的focus方法只是让对象获得焦点,要用DOM的focus方法才能让textarea获得光标。
document.getElementById('text').focus();
然后是设置光标的位置(textarea内已经有内容),函数如下:
1 function setSelect(element,begin, end) 2 { 3 if (document.body.createTextRange) 4 { 5 var range = document.body.createTextRange(); 6 var text = element[element.tagName=='DIV'?'innerText':'value']; 7 var line1 = text.substring(0, begin).split('/n').length - 1; 8 var line2 = text.substring(end, text.length).split('/n').length - 1; 9 range.moveToElementText(element)10 range.moveEnd('character',parseInt(end) - element[element.tagName=='DIV'?'innerText':'value'].length + line2); 11 range.moveStart('character',parseInt(begin) - line1); 12 range.select();13 }14 else if(element.setSelectionRange)15 { 16 element.setSelectionRange(begin,end);17 }18 }
以上代码地址:http://blog.csdn.net/reedseutozte/article/details/5761684
最后还是存在一个问题,就是如果当前这个textarea还没有显示出来,我们就执行了以上动作,那就报错:Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLTextAreaElement.setSelectionRange],所以一定要注意代码的顺序。
(5)JSP中request乱码
1 String id=new String(request.getParameter("id").getBytes("ISO8859-1"),"UTF-8");2 String name = new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
原文地址:
(6)文本框触发change,blur的顺序
change-->blur-->submit
原文地址: