我知道这有点模糊,但我无法真正链接到我的代码作为示例。
我有一个用 html/jquery 编写的应用程序。当我在本地计算机上的 FireFox 和 IE 中运行它时,它工作正常。问题是当我把它放在我们的服务器上时,我失去了 IE 中应用程序的一部分功能。在 FF 中运行良好。
它正在失去在更改时执行某些操作的选择框的功能。
我确信这一定是某种引用问题,但对包含该函数的文件的其他调用工作正常。另外,我已将函数移至同一文件,以查看它是否在某种程度上丢失了引用文件中的函数,但这也不起作用。
是否有人碰巧有一些我可以尝试让它发挥作用的东西?
这是选择框和函数的代码:
<select id="POCreateDateRange" class="valid" name="dynamicStartRange" onchange="onDateRangeChange("POCreateDate", 'Range')">
<option value=""></option>
<option value="lastMonth">Last Month</option>
<option value="lastTwoWeeks">Last Two Weeks</option>
<option value="lastWeek">Last Week</option>
<option value="yesterday">Yesterday</option>
<option value="today">Today</option>
</select>
函数代码:
function onDateRangeChange(id, type)
{
var targetId = "#";
if(type == "Range")
{
targetId += id;
} else {
targetId += (id+"toDate");
}
var currentDropDown = "#" + id + type;
var selectedOption = $(currentDropDown).val();
// to ajax call here..
$.ajax({
url: "PATH_REMOVED",
type: "GET",
dataType: "xml",
data: "RandomNumber=" + Math.round() + "&dateParam=" + selectedOption,
success: function (xml) {
var date = $(xml).find("dateString").text();
var targetDateValue = (date==null||date=="")?$(targetId).val():date;
$(targetId).val(targetDateValue);
},
error: function (text) {
alert("Something blew up.");
}
});
}
我会尽力为您提供更多详细信息。
提前致谢!
编辑 所以我在 IE 开发工具中更改为单引号并且它起作用了。所以我对代码进行了更改然后部署它。但它仍然不起作用。我打开 IE 开发工具并将其更改回双引号,它确实有效。有任何想法吗?
最佳答案
双引号内有双引号。
将 onchange
更改为:
onchange="onDateRangeChange('POCreateDate', 'Range')"
或者你可以这样做:
onchange="onDateRangeChange(\"POCreateDate\", 'Range')"
关于javascript - 在 FireFox 中工作但不能在 IE 中工作...有点像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7422032/