Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 脚本5007。IE7无法读取函数_Javascript_Jquery_Html_Internet Explorer_Internet Explorer 7 - Fatal编程技术网

Javascript 脚本5007。IE7无法读取函数

Javascript 脚本5007。IE7无法读取函数,javascript,jquery,html,internet-explorer,internet-explorer-7,Javascript,Jquery,Html,Internet Explorer,Internet Explorer 7,我正在处理一个项目的一部分,该项目的地址随更改事件而更改。地址信息作为json数组传递 不幸的是,我编写的代码在IE7上不起作用。我已经用大多数可用的浏览器实现了我的目标,但我不知道如何在IE7上解决这个问题。以下是我的代码片段: <script type="text/javascript"> var remote_self_json_branches_text = <?=$remote_self_json_branches?>; function selfOffice

我正在处理一个项目的一部分,该项目的地址随更改事件而更改。地址信息作为json数组传递

不幸的是,我编写的代码在IE7上不起作用。我已经用大多数可用的浏览器实现了我的目标,但我不知道如何在IE7上解决这个问题。以下是我的代码片段:

<script type="text/javascript">
var remote_self_json_branches_text = <?=$remote_self_json_branches?>;

function selfOfficeChangeText(element)
{
    console.log(remote_self_json_branches_text);
    $(".self_del").css('display', 'none');
    $("#self" + $(element).val()).css('display', 'block');
}

function change_delivery_office_selection_text (branch_id) {
    var cityMap = '';
    if(branch_id == 1){
        $('.textBlockContainer #self .headerImage').removeClass('remote-self').addClass('self');
    }

    if(branch_id == 2){
        $('.textBlockContainer #self .headerImage').addClass('remote-self').removeClass('self');
    }

    if(branch_id == 3){
        $('.textBlockContainer #self .headerImage').addClass('remote-self').removeClass('self');
    }

    $(".cityBranch").css('display', 'none');
    $("#city" + branch_id).css('display', 'block');

}

$(document).ready(function(){
    var mapUrl = '<?= $deliveryOffices[1]['mapCoordinates']?>';
    dom('delivery_office_title_text').innerHTML = remote_self_json_branches_text[1].v_title;
    dom('delivery_office_address_text').innerHTML = '<a class="mapPopup" href="' + mapUrl + '">' + remote_self_json_branches_text[1].v_address + '</a>';
    dom('delivery_office_work_time_text').innerHTML = remote_self_json_branches_text[1].v_work_time;

    var mapUrl = '<?= $deliveryOffices[2]['mapCoordinates']?>';
    dom('delivery_office_title1_text').innerHTML = remote_self_json_branches_text[2].v_title;
    dom('delivery_office_address1_text').innerHTML = '<a class="mapPopup" href="' + mapUrl + '">' + remote_self_json_branches_text[2].v_address + '</a>';
    dom('delivery_office_work_time1_text').innerHTML = remote_self_json_branches_text[2].v_work_time;

    var mapUrl = '<?= $deliveryOffices[3]['mapCoordinates']?>';
    dom('delivery_office_title2_text').innerHTML = remote_self_json_branches_text[3].v_title;
    dom('delivery_office_address2_text').innerHTML = '<a class="mapPopup" href="' + mapUrl + '">' + remote_self_json_branches_text[3].v_address + '</a>';
    dom('delivery_office_work_time2_text').innerHTML = remote_self_json_branches_text[3].v_work_time;
});
</script>
我的猜测是浏览器没有足够的时间加载JavaScript。我不是很熟练的跨浏览器兼容性,所以任何帮助将不胜感激。 提前感谢。

我的猜测是,IE 7认为该值为null或未定义,因为您使用的是不兼容的jQuery版本。尝试加载它的较低版本,例如1.4和/或更改选择器语法

也许jQuery选择器像$self+$element.val.css'display','block';在IE 7的最新版本中存在问题,返回null或未定义是正常的。

我会将此添加到document.ready函数中,并从选择中删除onchange:

$("#delivery_office_text").change(function() { 
     selfOfficeChangeText(this); 
     change_delivery_office_selection_text($(this).val());
});
它在文档就绪时绑定更改事件。
我还让它使用$this.val获取当前值,以防出现问题。

我认为问题在于IE7 select元素没有value属性。那个错误信息非常令人困惑。。。。selfOfficeChangeText不是一个属性!selfOfficeChangeText是一个函数,我在SelectOnChange属性中使用它。每个选项都有作为id的值,这些值通过php传递。value=可能更难理解,因为我的代码不太整洁。但问题是,我在跨浏览器兼容性方面缺少了一些细微差别。这不是我的意思。我想说的是,也许IE7选择元素节点没有值属性。这并不意味着没有选择某个值,它只是意味着IE7的dom引擎没有将该值放在select元素的value属性中。我只是在猜测这一点,因为我无法重新创建它。很抱歉,但我忘了提到,我已经尝试在函数内部调试,但没有得到任何结果。这意味着浏览器无法加载这些功能。此外,js代码与html+php代码位于相同的.phtml文件中。
SCRIPT5007: The value of the property "selfOfficeChangeText" is null or undefined, not a Function object
$("#delivery_office_text").change(function() { 
     selfOfficeChangeText(this); 
     change_delivery_office_selection_text($(this).val());
});