网页中只有一个TextBox的时候,当TestBox中输入文字,习惯性按下回车提交时,页面只会刷新一下,并没有将TextBox中的内容提交。如:
<asp:TextBox id="tbInput" runat="server" Width="240px"></asp:TextBox>
<asp:Button id="btnOK" runat="server" BorderWidth="1px" BorderColor="Purple" BorderStyle="Solid" Text="Search Site"></asp:Button>
以前找到一个方案,用javascript来解决。添加:
<SCRIPT LANGUAGE="javascript">
<!--
function SubmitKeyClick(button)
{
if (event.keyCode == 13)
{
event.keyCode=9;
event.returnValue = false;
document.all[button].click();
}
}
// -->
</SCRIPT>
Page_Load里添加:
tbInput.Attributes.Add("onkeydown","SubmitKeyClick('btnOK');");
另一个解决办法是添加一个TextBox,style设置成隐藏的就可以了(Visible设置成false是不行的)。
<asp:TextBox id="tbInput" runat="server" Width="240px"></asp:TextBox>
<asp:TextBox id="hidden" runat="server" style="visibility:hidden;display:none;"></asp:TextBox>
<asp:Button id="btnOK" runat="server" BorderWidth="1px" BorderColor="Purple" BorderStyle="Solid" Text="Search Site"></asp:Button>
<asp:TextBox id="tbInput" runat="server" Width="240px"></asp:TextBox>
<asp:Button id="btnOK" runat="server" BorderWidth="1px" BorderColor="Purple" BorderStyle="Solid" Text="Search Site"></asp:Button>
以前找到一个方案,用javascript来解决。添加:
<SCRIPT LANGUAGE="javascript">
<!--
function SubmitKeyClick(button)
{
if (event.keyCode == 13)
{
event.keyCode=9;
event.returnValue = false;
document.all[button].click();
}
}
// -->
</SCRIPT>
Page_Load里添加:
tbInput.Attributes.Add("onkeydown","SubmitKeyClick('btnOK');");
另一个解决办法是添加一个TextBox,style设置成隐藏的就可以了(Visible设置成false是不行的)。
<asp:TextBox id="tbInput" runat="server" Width="240px"></asp:TextBox>
<asp:TextBox id="hidden" runat="server" style="visibility:hidden;display:none;"></asp:TextBox>
<asp:Button id="btnOK" runat="server" BorderWidth="1px" BorderColor="Purple" BorderStyle="Solid" Text="Search Site"></asp:Button>