在FireFox工作,但不是IE ......有点儿

时间:2011-09-14 19:40:06

标签: javascript jquery html

我知道这有点模糊,但我无法链接到我的代码示例。

我有一个用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开发工具并将其变回双引号,它确实有效。有任何想法吗?

2 个答案:

答案 0 :(得分:3)

双引号内有双引号。

onchange更改为此:

onchange="onDateRangeChange('POCreateDate', 'Range')"

或者你可以这样做:

onchange="onDateRangeChange(\"POCreateDate\", 'Range')"

答案 1 :(得分:2)

这些双引号不应该是单引号吗?

onchange="onDateRangeChange("POCreateDate", 'Range')"

必须是

onchange="onDateRangeChange('POCreateDate', 'Range')"