我正在使用VSTS 2008 + C#+。Net 3.5 + IIS 7.0 + ASP.Net来开发Web应用程序。 Web应用程序有一个名为default.aspx的aspx页面。而且我想实现当用户按下键盘输入键时效果与按钮“动作”相同的效果。任何想法如何实施?
这是default.aspx文件,
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<script type="text/javascript">
function requery() {
var query = location.search.substring(1);
var pairs = query.split("&");
var param1Value = document.getElementById("txtParam1").value;
url = "/Default.aspx?param1=" + param1Value;
for (var i = 0; i < pairs.length; ++i) {
var pair = pairs[i];
if ((pair.indexOf("param1") != 0) && (pair.length > 0)) {
url += "&" + pair;
}
}
location.href = url;
}
</script>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtParam1" runat="server"></asp:TextBox>
<input type="button" value="Action" onclick="requery()" />
</div>
</form>
</body>
</html>
这是默认文件default.aspx.cs,
背后的代码public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txtParam1.Text = Request.QueryString["param1"];
}
}
}
答案 0 :(得分:2)
如果您正在浏览 Internet Explorer ,这是一个烦人的问题。添加样式为display:none;visibility:hidden;
的文本框回车键将做出相应的响应。这通常发生在IE中具有一个文本输入的表单上。在您的第一个输入字段
答案 1 :(得分:1)
为文档的keydown
事件添加事件处理程序。评论中的解释。
function keydownHandler(e) {
if (e.keyCode == 13) { // 13 is the enter key
requery(); // call your function.
// alternately, give your button an id and used
// document.getElementById('myID').click();
// prevent the browser from doing whatever it normally
// does when you push the enter key.
// (not tested for this situation, may need tweaking)
if (e.preventDefault) {
e.preventDefault(); // FF,chrome
}
else {
return false; // IE
}
}
}
// register your handler method for the keydown event
if (document.addEventListener) {
document.addEventListener('keydown', keydownHandler, false);
}
else if (document.attachEvent) {
document.attachEvent('onkeydown', keydownHandler);
}