0

我的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>

当用户按下enter搜索按钮时,每个浏览器(firefox、chrome、safari)都可以工作,但在 IE 8 中却不行。为什么会这样?

4

2 回答 2

1

尝试在FormPanel控件上设置DefaultButton属性。

例子:

<form id="Form1"
        defaultbutton="search"
        runat="server">

或者

<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>
于 2013-05-27T17:50:10.510 回答
0

HTML 标准中没有任何内容规定enter应该提交表单。IE 8 不提交表单并不是真正的错误;其他浏览器只是擅长猜测 enter 应该做什么。

为了安全起见,您应该显式添加代码以让输入键提交表单。

于 2013-05-27T17:41:57.350 回答