?????????大家可能会注意到input,select,textArea等文本框都会有一个属性tabindex,但是都没有用过这个tabindex吧、
简单说一下tabindex;它主要是设置页面上使用Tab键改变页面上文本框获取焦点的顺序。它的值为数字,1,2,3。。。
默认进入页面,光标(即焦点)会选中左上方第一个文本框。?
目前项目中遇到打开个子窗口时候,不想让子页面的光标定位到默认的文本框中,该怎么办呢?
<input type='text' name = 'name1'/> <select name = 'name2'><option value='1'></option></select> <textArea name="name3" cols='2' rows='2'></textArea>
?默认页面光标定位到type="text"中,如果我想让光标定位到select文本框上,目前有两个方法:
?
?1、一般有人都会在该页面的最后部分加上一个JavaScript、?????
<script langage="text/javascript">
document.form.name2.focus();
</script>
? ?? ?但是这种方法偶尔会js报错:"由于该控件目前不可见、未启用或其类型不允许,因此无法将焦点移向"等等、经测试,发现只要这个页面打开的速度慢的时候就会报错。
2、接下来的方法就要使用本文所说的tabindex了、
?? <input type='text' name = 'name1' tabindex='3'/>
? ?<select name = 'name2'><option value='1' tabindex='1'></option></select>
?? <textArea name="name3" cols='2' rows='2' tabindex='2'></textArea>
如果想让光标定位到哪个文本框,则把该文本框的tabindex设置为1,即1的优先级最高,依次排序即可、
?
?
这个写法不好,现在都用<script type="text/javascript">;
document.form.name2.focus();
这个写法也不好,兼容性有问题,最好用document.getElementById。
tabindex,俺基本不用,特别是表单项特别多的时候,就显得很麻烦。
如果真要用js定位到某个位置,可以将方法挂在window.onload下,就不会有那种报错。
当然是个人意见,仅供参考。
这个写法不好,现在都用<script type="text/javascript">;
document.form.name2.focus();
这个写法也不好,兼容性有问题,最好用document.getElementById。
tabindex,俺基本不用,特别是表单项特别多的时候,就显得很麻烦。
如果真要用js定位到某个位置,可以将方法挂在window.onload下,就不会有那种报错。
当然是个人意见,仅供参考。
呵呵,谢谢!放在window.onload下,当时第一想到的就是它,但是测试发现不起作用,当时很郁闷,刚又测试了一下可以了,应该是浏览器的缓存吧、
这样虽说可以,但是还需要执行一个JavaScript,比起来tabindex还是麻烦了点。(表单项多的时候只要定位一两个tabindex就可以了啊)
这个写法不好,现在都用<script type="text/javascript">;
在HTML5里面更简单,直接用 <script></script> 。
long long ago就没问题,可以试试IE6
long long ago就没问题,可以试试IE6
IE6也畅通无阻的、
long long ago就没问题,可以试试IE6
IE6也畅通无阻的、
应该和浏览器没啥关系而是XHTML有关,HTML不要求这种格式