比如有十個文本框,分別設定了TabIndex,如何實作回車后自動跳到下一個文本框
uj5u.com熱心網友回復:
asp.net 是沒有焦點的,你需要用 js注冊客戶端方法 onclientclient = onFoucs()uj5u.com熱心網友回復:
版主說得沒錯,js注冊input的keyup事件uj5u.com熱心網友回復:
tab 鍵是跳到下個元素, 回車是 提交表單, 這些都是 html 默認的啊, 你為什么要回車跳到下個元素呢uj5u.com熱心網友回復:
document.onkeydown = function (event) {var e = event || window.event;
if (e && e.keyCode == 13) { //回車鍵的鍵值為13
//呼叫方法
}
};
JQuery
$(document).keyup(function (event) {
if (event.keyCode == 13) {//13是回車
//方法
}
});
uj5u.com熱心網友回復:
寫javascript實作uj5u.com熱心網友回復:
我來授人以魚了這個要用js,不能用.net
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form>
<input type="text" TabIndex="1"/>
<input type="text" TabIndex="2"/>
<input type="text" TabIndex="3"/>
</form>
<script>
var tabIndex=0;
var maxIndex=3;
var tabKeyCode=13;
var inputObjs = document.getElementsByTagName("input");
document.onkeyup = function(e){
if(e.keyCode===tabKeyCode)
{
(tabIndex<1||tabIndex>=maxIndex)?tabIndex=1:tabIndex++;
for(i=0;i<inputObjs.length;i++)
{
var thisTabIndex=Number(inputObjs[i].getAttribute("TabIndex"));
if(thisTabIndex===tabIndex)
{
inputObjs[i].focus();break;
}
}
}
}
</script>
</body>
</html>
如果外層有form和submit的話,你還要想辦法解決回車自動提交的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/124816.html
標籤:ASP.NET
