Вкладки пользовательского интерфейса JQuery с HTML-формами - PullRequest
1 голос
/ 14 марта 2012

Edit: вот jsFiddle, который показывает, что страница работает должным образом - http://jsfiddle.net/KH3bs/3/

Edit2: работает в IE9 с включенным режимом совместимости, не работает, если он выключен.

Если я добавлю другой код в свои вкладки, они одинаково хорошо работают как в Firefox, так и в IE.Однако мне нужны формы на моих вкладках, и как только я это делаю, они ломаются в IE (в частности, я использую IE9).

Это скрипты и таблицы стилей, вызываемые вглавный файл:

<link href="http://www.stmartin.edu/styles/global.css" rel="stylesheet" type="text/css" />
<link href="http://www.stmartin.edu/styles/2col.css" rel="stylesheet" type="text/css" />
<link href="http://www.stmartin.edu/library/css/OGrady.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<script language="JavaScript" src="http://www.stmartin.edu/scripts/global.js" type="text/javascript"></script>

И это страница с моими вкладками и формами:

<%@ Page Language="VB" masterpagefile="_master/content_2_column.master" title="Saint Martin's University" %> <asp:Content id="Content1" runat="server" contentplaceholderid="headerImage">
<img alt="" src="images/libBicycle.jpg" width="1130" height="149" />

<link rel="stylesheet" href="../social/styles/jquery-ui-1.8.16.custom.css" />

                <script>
                $(function() {
                                $("#tabs").tabs();
                });
                </script>

                <style type="text/css">

                #tabs {
                                                                display:block;
                                                                overflow:auto;

}

                </style>

</asp:Content>


<asp:Content id="Content2" runat="server" contentplaceholderid="pageContent">

<h1>O&#39;Grady Library</h1>

<p style="font-weight=bold;">Quick search</p>

 <div id="tabs" style="width: 103%; font-size: .8em;">         
        <ul>
          <li style="width: 23%;"><a href="#tabs-1">Books</a></li>
          <li style="width: 23%;"><a href="#tabs-2">Articles</a></li>
          <li style="width: 23%;"><a href="#tabs-3">DVDs</a></li>
          <li style="width: 23%;"><a href="#tabs-4">Everything</a></li>
        </ul>       

         <div id="tabs-0">
            <form class="search" action="http://stmartin.worldcat.org/search" method="get">
            </form>
        </div> 


       <div id="tabs-1">
          <h2>Search the Library Catalog for Books</h2>
        <form class="search" action="http://stmartin.worldcat.org/search" method="get">
          <input type="hidden" name="fq" value="x0:book">
          <input type="text" maxlength="65" size="30" name="q">
          <input type="submit" value="GO">
            </form>
        </div>  

        <div id="tabs-2">
          <h2>Search the Library Catalog for Articles</h2>
            <form class="search" action="http://stmartin.worldcat.org/search" method="get">
            <input type="hidden" name="fq" value="x0:artchap">
            <input type="text" maxlength="65" size="30" name="q">
            <input type="submit" value="GO">
        </form>
        </div>

        <div id="tabs-3">
          <h2>Search the Library Catalog for DVDs</h2>
            <form class="search" action="http://stmartin.worldcat.org/search" method="get">
            <input type="hidden" name="fq" value="x0:video">
            <input type="text" maxlength="65" size="30" name="q">
            <input type="submit" value="GO">
        </form>
        </div>

        <div id="tabs-4">
          <h2>Search the Library Catalog for Everything</h2>
            <form class="search" action="http://stmartin.worldcat.org/search" method="get">
            <input type="text" maxlength="65" size="30" name="q">
            <input type="submit" value="GO">
        </form>

        </div>
      </div>



</asp:Content>

<asp:Content id="Content3" runat="server" contentplaceholderid="rightContent">

<h1>Library hours Spring 2012</h1>

<table cellspacing="0">
<tr>
<td>Mon-Thu </td>
<td align="right">7:30 am</td>
<td align="center">-</td>
<td align="right">11 pm</td></tr>
<tr>
<td>Fri</td>
<td align="right">7:30 am</td>
<td align="center">-</td>
<td align="right">5 pm</td></tr>
<tr>
<td>Sat</td>
<td align="right">10 am</td>
<td align="center">-</td>
<td align="right">6 pm</td></tr>
<tr>
<td>Sun</td>
<td align="right">1 pm</td>
<td align="center">-</td>
<td align="right">9 pm</td></tr>
</table>


<p>&nbsp;<br /> 
<a href="about/hours.aspx">See details</a> for holidays<br />
<a href="../about/ClosurePolicy.aspx">Campus closure policy</a></p>
<p><a href="jobs/"><strong>Employment opportunities</strong></a></p>


<p>
<a href="guides/bridge.aspx"> Personal Librarian</a> program</p>

</asp:Content>

В tab-0 есть пустая форма, потому что Firefox отказывался отправлять какую-либо формубыл указан первым (по некоторым причинам), так что это небрежное исправление.В любом случае, он не работает в IE.

Firefox выглядит точно так, как и должен.В IE9, однако, я не могу переключаться между вкладками, и все формы оказываются перечисленными вниз по странице вертикально все сразу.Формы, такие как они, работают в IE, но очевидно, что смысл размещать их за вкладками jquery состоял в том, чтобы они не отображались одновременно.

IE8 работает лучше - он будет переключаться между вкладками и отображает только форму активной вкладки, но сокращает форму на полпути вниз по странице.Обе версии IE имеют какую-то явную проблему и также ударяют содержимое на боковой панели влево.

Если я изменю содержимое на вкладках на что-либо, что не является, тогда вкладки будутработать в IE.У нас есть те же вкладки, работающие на другой странице (http://www.stmartin.edu/social/), и они просто хороши, так что это определенно поле, которое не хочет играть хорошо, по любой причине.

Любая помощь или предложения очень важныпризнателен. Спасибо!

Ответы [ 2 ]

0 голосов
/ 15 марта 2012

Поскольку в IE9 работал режим совместимости, я принудительно эмулировал IE7 с помощью метатега:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Это работает, но это не супер решение. Другие предложения по-прежнему приветствуются.

0 голосов
/ 14 марта 2012

попробуйте закрыть свои теги ввода

<input type="text" maxlength="65" size="30" name="q" />

все ваши теги ввода открыты.Не уверен, что это проблема, но попробуйте - возможно, установите jsfiddle.

...