Выбор даты в двух разных браузерах - PullRequest
0 голосов
/ 10 июня 2010

Я работаю на asp.net MVC в том, что я использую частичные представления.У меня есть одна проблема, т.е. сборщик даты работает правильно на IE, но не работает на Mozilla Firefox.я использовал:

<link href="<%=ResolveClientUrl("~/Scripts/Themes/ui-lightness/jquery-ui-1.7.2.custom.css")%>" rel="stylesheet" type="text/css" />
<script src="../Scripts/jquery-1.3.2.js" type="text/javascript"></script>

<script src="../Scripts/ui.core.js" type="text/javascript"></script>

<script src="../Scripts/ui.datepicker.js" type="text/javascript"></script>

и функция на странице просмотра:

          <script type="text/javascript">

                         $(document).ready(function() {
                             $("#txtTransationDate").datepicker();
                         });
                        </script>

                        <input id="txtTransationDate" name="txtTransationDate" type="text" />

пожалуйста, посоветуйте мне это.Спасибо заранее.

1 Ответ

0 голосов
/ 18 июня 2010

Код ниже работает каждый раз в каждом браузере.

<html>
<head>
<title>test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js" type="text/javascript"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.0/themes/ui-lightness/jquery-ui.css" type="text/css" 

rel="stylesheet">
<style>
input { width:300px; }
</style>
</head>
<body>

<script type="text/javascript">
    $(document).ready(function() {
        $("#txtTransationDate").datepicker();
    });
</script>
<h2>Date Picker Test</h2>
<input id="txtTransationDate" name="txtTransationDate" type="text" value="Click here to show the date picker!" />
</body>
</html>

Итак, давайте рассмотрим различия между вашим кодом и этим.

  • Во-первых, я использую Google CDN для моих файлов JS и CSS это обеспечивая меня в контексте проверить, что мои файлы делают ставки загружен. Это также облегчает тест;)

  • Я также использую jQuery 1.4.2 (последняя версия) и 1.8.2 последний пользовательский интерфейс jQuery версия.

  • Вопрос в том, какая версия JQuery вы используете? и являются Версии jQuery UI и jQuery совместимы друг с другом для каждого браузера?

  • Ваша версия CSS 1.7.x это имеет тенденцию к предложить версию jQuery UI вы подобрали также может быть новее чем версия jQuery.

  • Я использую точно такой же JavaScript и тот же тег ввода (с добавленным атрибуты для целей этого тест).

  • Кажется очевидным, что проблема не находится в JS и HTML Вы предоставили здесь.

  • Я также показываю вам всю мою контекст. Firefox требователен, IE тоже но не на том же материале. Так бы Возможно, что другие JS или неправильно сформированные метки мешают в FF?

Попробуйте запустить мой тест на статической странице htm. Если это сработает, первое, что я попробую, - это заменить скрипты в голове на те, которые я использую.

С другой стороны, если вы не хотите или не можете использовать Google CDN в своем окончательном приложении. Я предлагаю использовать эти вспомогательные методы для включения файлов CSS и JS. Поскольку трудно предвидеть все возможные уровни URL (/), которые может иметь приложение MVC.

/// <summary>
/// Include a javascript file.
/// </summary>
/// <param name="path"></param>
/// <param name="url"></param>
/// <returns></returns>
public static string IncludeJavascript(this UrlHelper url, string path)
{
    return "<script src=\"" + url.Content(path) + "\" type=\"text/javascript\"></script>";
}

/// <summary>
/// Include a css file.
/// </summary>
/// <param name="path"></param>
/// <param name="url"></param>
/// <returns></returns>
public static string IncludeStylesheet(this UrlHelper url, string path)
{
    return "<link href=" + url.Content(path) + " rel=\"stylesheet\" type=\"text/css\" />";
}

Использование:

<%= Url.IncludeJavascript("~/Scripts/jquery.js") %>
<%= Url.IncludeStylesheet("~/Scripts/Themes/jquery.css") %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...