我的javascript有代码,用于我的网站上的一个页面:
$('#nmdt1').datetimepicker({
dateFormat: $.datepicker.ATOM,
minDate: nmsdt,
...
...当加载了id="nmdt1“的页面时,它运行得很好。并且我只在加载该页面时才加载相关的datetimepicker js库(模块)。到目前一切尚好。
但是当我在我的网站上加载任何其他页面时,我得到了这个错误:来自定义了dateformat的行号。
编辑:以下是firebug日志的正确错误:
TypeError: $.datepicker is undefined
http://myswbsite/jscript/myjsscript.js
Line 569第569行是:
dateFormat: $.datepicker.ATOM,是的,这个错误只出现在我没有加载相关js代码(jquery-ui-timepicker addon.js)的页面上。我没有在每个页面上加载这个js的原因是,我只需要在一个页面上使用它。
更多详细信息:
在加载lib后的HTML标题中(在seq中)
<head>
<script src="/jscript/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="/jscript/myjsscript.js" type="text/javascript"></script>
...
...
<script type="text/javascript">
jQuery(document).ready(function(){
var mid = "[% mid %]";
alert('mid='+mid);
$(".bvmainmenu #"+mid).css({"background":"url(/images/current-bg.gif) top left repeat-x", "color":"#ffffff"});
});
</script>
</head>您在上面看到的最后一段javascript代码(标题底部)并不是每次都在jquery-ui-timepicker addon.js库未加载时运行(并且您会看到firebug中的错误-我可以忍受错误,但是为什么最后一段代码不运行,我不确定)。我不能理解为什么这个例程不能运行,仅仅因为我没有加载一个‘附加’库
正确运行所有内容的页面会在主体中加载以下js脚本
<script src="/jscript/jquery-ui-1.8.21.custom.min.js" type="text/javascript"></script>
<script src="/jscript/jquery-ui-timepicker-addon.js" type="text/javascript"></script>在此页面上,您在header中看到的最后一段javascript代码也会加载并显示警报!
我很难弄清楚这一点。
发布于 2012-08-12 10:22:39
你似乎在说这段代码:
$('#nmdt1').datetimepicker({
dateFormat: $.datepicker.ATOM,
minDate: nmsdt,
...在每个页面上加载的通用myjsscript.js脚本中的...is。如果是这样,这意味着它在每个页面上都会运行,因此在不包含额外插件脚本的页面上会出现错误。
上面引用的代码并不意味着“如果具有该id的元素存在,则调用datetimepicker()方法”,它的意思是“创建一个jQuery对象,该对象中可能包含任何元素,也可能不包含任何元素,然后调用datetimepicker()方法,传递一个属性设置为$.datepicker.ATOM的对象”。也就是说,即使页面上没有nmdtd1元素,它仍然会调用datetimepicker并引用$.datepicker.ATOM。
至少有三种方法可以解决这个问题:
myjsscript.js中移出,仅将其放在需要它页面上。.datetimerpicker()部件。G216
对于选项3:
var $nmdt1 = $('#nmdt1');
if ($nmdt1.length > 0) {
$nmdt1.datetimepicker({
dateFormat: $.datepicker.ATOM,
minDate: nmsdt,
...
});
}发布于 2012-08-12 09:48:52
您是否在应用程序中包含了jQuery UI。
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.22/jquery-ui.min.js"></script>发布于 2015-09-03 13:22:35
确保$是您的jquery快捷方式标识符。检查的使用
var $J = jQuery.noConflict();在这种情况下,请尝试使用$J.datepicker
https://stackoverflow.com/questions/11918991
复制相似问题