C# 按enter键可在除internet explorer之外的所有其他浏览器上工作
在我的C# 按enter键可在除internet explorer之外的所有其他浏览器上工作,c#,.net,internet-explorer-8,cross-browser,C#,.net,Internet Explorer 8,Cross Browser,在我的default.aspx页面中有以下代码 <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runa
default.aspx
页面中有以下代码
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div class="default">
<div class="search_panel">
<select id="Select1" name="search_type">
<option>option1</option>
<option>option2</option>
</select><input name="search_text" type="text" /><input name="search" formaction="page.aspx" type="image" alt="submit" src="images/search.jpg" />
</div>
</div>
</asp:Content>
选择1
选择2
当用户按下
enter
时,搜索按钮在每个浏览器(firefox、chrome、safari)上都有效,但在IE 8中不起作用。为什么会发生这种情况?HTML标准中没有规定enter应该提交表单。IE 8不提交表单并不是一个真正的错误;其他浏览器只是擅长猜测enter应该做什么
为了安全起见,应该显式添加代码,让enter键提交表单 尝试在或控件上设置
DefaultButton
属性
例如:
<form id="Form1"
defaultbutton="search"
runat="server">
或
选择1
选择2
为keypress
事件添加JavaScript,如果您只想让enter键在聚焦时提交,则在输入上添加JavaScript;如果您想让enter键始终提交,则在文档上添加JavaScript。或者只需按照Magnus发布的操作即可;当您使用DefaultButton
属性时,ASP.NET似乎会自动发出此JavaScript。它显示以下错误“Panel1”的DefaultButton必须是类型为的控件的IDIButtonControl@jonnydepp如果可能,将搜索按钮改为asp控件。
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:Panel runat="server" DefaultButton="search">
<div class="default">
<div class="search_panel">
<select id="Select1" name="search_type">
<option>option1</option>
<option>option2</option>
</select>
<input name="search_text" type="text" />
<input name="search" id="search" formaction="page.aspx" type="image" alt="submit" src="images/search.jpg" />
</div>
</div>
</asp:Panel>
</asp:Content>