在两个不同的浏览器中的日期选择器
问题描述:
我正在使用部分视图在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" />
请咨询我吧。预先感谢。
答
下面的代码每次在每个浏览器中都有效。
<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>
因此,让我们来看看你的代码和这个代码之间的区别。
首先,我使用的是谷歌CDN 我的JS和CSS文件,这 确保我在 测试我的文件是投注 加载的情况下。这也使得它更容易 测试;)
我也使用jQuery 1.4.2(最新 版)和1.8.2最新的jQuery UI的 版本。
问题是您正在使用哪个版本的 jQuery?并为每个浏览器兼容的jQuery UI和jQuery版本 ?
你的CSS 1.7.x版,这往往 建议 你拿起jQuery UI的版本也可能比jQuery的版本更新 。
我使用的是完全相同的JavaScript 和相同的输入标签(加入 属性为这个 测试的目的)。
看来很明显,问题 不驻留在您在这里提供的js和html 。
我也向你展示了我的整个 上下文。 Firefox是挑剔的,IE也是 ,但不是相同的东西。那么 有可能是其他js或 畸形标签干扰FF?
尝试在静态HTM页面中运行我的测试。如果它起作用,那么我会尝试的第一件事就是改变我正在使用的脚本。
另一方面,如果您不想或不能在您的最终应用中使用Google CDN。我建议使用这些辅助方法来包含css和js文件。因为很难预见MVC应用程序可能具有的所有可能的url级别(/)。
/// <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") %>
你能对这个问题解释一下?你在Firefox中收到错误吗?这是显示问题吗?请告诉我们更多!!! – 2010-06-10 13:53:53
没有错误控制台是明确的 – Renu123 2010-06-10 14:04:52
你有它托管某处给我们看? – 2010-06-10 15:45:13