我创建了两个输入框,并在到达最大长度时将javascript设置为自动对焦下一个框。它正常工作。但是当触发任何回发事件时,这些值变得清晰起来。我在输入框上输入runat =“ server”然后输入值清除了已解决的问题,但自动对焦脚本不起作用。请帮助我。
function movetoNext(current, nextFieldID) {
if (current.value.length >= current.maxLength) {
document.getElementById(nextFieldID).focus();
}
}
<input type="text" id="txtcard1" size="4"
onkeyup="movetoNext(this, 'txtcard2')" maxlength="4" />
<input type="text" id="txtcard2" size="4"
onkeyup="movetoNext(this, 'txtcard3')" maxlength="4" />
答案 0 :(得分:2)
根据您的问题详细信息,似乎您正在使用ASP.net。
您必须添加runat="server"
才能保持控件状态,但是同时添加runat="server"
时,控件将在服务器端呈现,并且控件ID也会更改。
因此,在客户端脚本上使用控件时,您需要ClientIDMode="Static"
标记。
例如:
<input type="text" id="txtcard2" size="4"
onkeyup="movetoNext(this, 'txtcard3')" maxlength="4" ClientIDMode="Static" runat="server" />
答案 1 :(得分:1)
但是,如果您使用的是旧版本,则将无法使用,因为autofocus属性是HTML5的新增功能,HTML5仅在最近的浏览器中得到了广泛的支持
答案 2 :(得分:1)
您还可以使用Control.ClientID在客户端获取ASPX控件ID。这样,该控件将在服务器端和客户端均可用。
./traceExporter.py --fcd-input=sumoTrace.xml --ns2mobility-output=mobfile.tcl
./traceExporter.py --fcd-input=sumoTrace.xml --ns2activity-output=actfile.tcl
./traceExporter.py --fcd-input=sumoTrace.xml --ns2config-output=consfile.tcl
也不确定您的要求,但是如果要移至表单中的控件,请使用tabindex