1)在我的框架式页面(由4个子窗口组成)中有一系列TextBox控件;当我将光标放到第一个TextBox后按回车键,光标回跳到下一个TextBox中,直到最后一个TextBox; 但光标在最后一个TextBox里时按回车键后光标跳到其中的某一个子框架窗口中,而不能循环性地跳到第一个TextBox中;如何解决?(我为了逃避出现这种现象,TextBox的TabIndex属性值从1开始设置的,但还是被系统抓住了;我认为,因为那4个子框架也有由系统自动分配的TabIndex=0值,而无法修改其值或静止获取焦点,因此出现这种现象)我用的焦点切换代码:
<script language="javascript">
function keydown(){
var dom=document.all;
for(i=0;i<dom.length;i++)
{
if(dom[i].tagName=="INPUT"&&event.keyCode==13)
{
if(dom[i].type.toLowerCase()=="text"&&dom[i].readOnly!=true)
event.keyCode=9;
}
}
}
</script>2)当光标在最后一个TextBox中时按回车键执行数据提交或某种任务,如何实现?
<script language="javascript">
function keydown(){
var dom=document.all;
for(i=0;i<dom.length;i++)
{
if(dom[i].tagName=="INPUT"&&event.keyCode==13)
{
if(dom[i].type.toLowerCase()=="text"&&dom[i].readOnly!=true)
event.keyCode=9;
}
}
}
</script>2)当光标在最后一个TextBox中时按回车键执行数据提交或某种任务,如何实现?
解决方案 »
- 淘宝为什么要开发自己的kissy框架 而不使用jquery
- 用到母板,怎么在子页设置body的属性(添加事件 onload="initialize()")
- GridView自动生成列的位置调整
- 有谁知道两者区别?
- 一个远程连接数据库的问题,高手都近来看看
- 如何用一个表记录在线用户??插入记录的代码写在那儿?用户离开时从表中删数据的代码写到那儿??急,请高手指教!!
- 请问在C#怎样使用javascript
- 大神帮忙
- 困惑!寻找传说中的ID[详细请看]
- 关于文件上传和浏览
- 设置好DataGrid的样式,但是在编辑状态下,产生的TextBox框特别宽,以至于整个DataGrid都很宽,怎么办?
- 怎样才能把文本框的四边只显示最下边的线?
javascrip中没有tabindex属性怎么写呀
--------------------------
to sykpboy(小憩) :
这又不是C#的win32应用程序,哪能用Textbox1.focurs()?
把你的改变键盘操作的代码和判断id的部分结合起来就可以了
function GetFocus()
{
var al_keydown = window.event.srcElement;
if (event.keyCode == 13 && al_keydown.id=="txOrder")
{
document.FltWiz.txCustomer.focus();
}
else if (event.keyCode == 13 && al_keydown.id=="txCustomer")
{
document.FltWiz.txPhone.focus();
}
else if (event.keyCode == 13 && al_keydown.id=="txPhone")
{
document.FltWiz.txSn.focus();
}
else if (event.keyCode == 13 && al_keydown.id=="txSn")
{
document.FltWiz.cmdQuery.focus();
}}
2)在 document.FltWiz.txCustomer.focus(); 中的FltWiz指的是什么? 谢谢。
var allInput;
document.onkeyup=function(){
var e = window.event.srcElement;
if ((event.keyCode == 13) && (e.type=="input")){ //表示文本框获得焦点
doNextInputFocus(e);
} function doNextInputFocus(e){
if(allInput ==undefined){ //获取所有的input控件
allInput = document.getElementsByTagName("input");
}
if(e.id ==allInput[allInput.length-1].id){ //表示最后一个按钮
allInput[0].focus(); //第一个input获得焦点
}
else{
event.keyCode ==9; //转换为Tab键,进行回车
}
}
}
textbox到前台都可以通过
getElementsById的方法得到,之后你想focurs()还是作别的都可以。
function keydown(){
var dom=document.all;
for(i=0;i<dom.length;i++){
if(dom[i].tagName=="INPUT"&&event.keyCode==13){
if(dom[i].type.toLowerCase()=="text"&&dom[i].readOnly!=true)
event.keyCode=9;
}
}
}
} function GetFocus(){
var allInput = document.getElementsByTagName("input");;
var al_keydown = window.event.srcElement;
switch(al_keydown.id){
case "TextBox1":keydown();
case "TextBox2":keydown();
case "TextBox3":keydown();
case "TextBox4":keydown();
case "TextBox5":keydown();
case "TextBox6":keydown();
case "TextBox7":keydown();
case "TextBox8":keydown();
case "TextBox9":keydown();
case "TextBox10":keydown();
case "TextBox11":keydown();
case "TextBox12":keydown();
case "TextBox13":keydown();
case "TextBox14":keydown();
case "TextBox15":keydown();
case "TextBox16":keydown();
case "TextBox17":keydown();
case "TextBox18":{
if(allInput=="TextBox18" && event.keyCode==13)
alert(al_keydown.id);
}
}
}
}
</script><body onkeydown="GetFocus()" MS_POSITIONING="GridLayout">
如果那位高手另有实现办法可以提出意见和贴出代码来,让同行们共同分享,我会高分报答!
<asp:textbox id=TB2 onkeyup="if(event.keyCode == 13)document.all.TB3.select()"></asp:textbox>
<asp:textbox id=TB3 onkeyup="if(event.keyCode == 13)document.all.TB1.select()"></asp:textbox>
你的代码终于解决了我得问题,非常感谢你和所有回复该题的热心朋友,感谢你们的帮助!每个人回得到相应的分值。