Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onkeydown无法在asp中更改焦点_Javascript_Asp.net_Keylistener - Fatal编程技术网

Javascript onkeydown无法在asp中更改焦点

Javascript onkeydown无法在asp中更改焦点,javascript,asp.net,keylistener,Javascript,Asp.net,Keylistener,我试图使用aspx文件中的javascript将焦点设置为另一个from元素,但设置了一会儿,然后表单重新加载,焦点丢失 <asp:TextBox ID="sname" runat="server" CssClass="input" Width="280px" onkeyup="javascript:if (event.keyCode == 13) document.getElementById('fname').focus();"></asp:TextBox>

我试图使用aspx文件中的javascript将焦点设置为另一个from元素,但设置了一会儿,然后表单重新加载,焦点丢失

<asp:TextBox ID="sname" runat="server"  CssClass="input" Width="280px" onkeyup="javascript:if (event.keyCode == 13) document.getElementById('fname').focus();"></asp:TextBox>

这是详细的代码

<asp:TextBox ID="sname" runat="server"  CssClass="input" Width="280px" onkeyup="javascript:if (event.keyCode == 13) document.getElementById('fname').focus();"></asp:TextBox>
<asp:TextBox ID="fname" runat="server"  CssClass="input" Width="280px"></asp:TextBox>

getElementById方法与“fname”不匹配,因为WebForms更改了asp控件的名称。您需要将onkeyup调用更改为:

onkeyup="javascript:if (event.keyCode == 13) document.getElementById('<%=fname.ClientID %>').focus();"
onkeyup=“javascript:if(event.keyCode==13)document.getElementById(“”).focus();”

是的,我确实有“fname”,不到一秒钟的时间,焦点集中在“fname”上,然后就消失了。我不知道为什么整个表单会重新加载,是因为回发还是其他原因。我们可以获得更多的代码,比如元素“fname”和任何可能在此页面上运行的脚本吗?此页面是否有PageLoad事件?如果是这样,在你点击“sname”文本框后,该事件是否会被点击?@MatthewJones我没有使用任何页面加载事件……这是我目前为止在该页面上使用的唯一脚本