事件没有定义javascript firefox(json)

时间:2014-12-09 17:25:16

标签: javascript php json codeigniter

任何人都可以告诉我为什么我的代码在firefox上出错?

HTML:

Size : <select class="size" id="size<?php echo $dat_women->id; ?>" name="size" onchange="change_size(<?php echo $dat_women->id; ?>)">

JS:

function change_size(id_product){
    var size  = document.getElementById(event.target.id).value;
    $.ajax({
        dataType:"json",
        url: site_url + "main/add_cart/" + id_product + "/" + size,
        success:function(data){ 
            window.location.assign("cart");
        },
        error: function(data){
            alert('Anda belum memilih ukuran');
        }
    });
};

错误:

  

事件未定义

2 个答案:

答案 0 :(得分:1)

尝试将元素作为参数发送到函数调用:

在您的HTML中:

onchange="change_size(this,<?php echo $dat_women->id; ?>)"

并在您的函数定义中:

function change_size(element, id_product)

然后你就可以得到这样的size

var size = element.value;

答案 1 :(得分:0)

Plunker Example

<强> HTML:

<select class="size" id="size2" name="size" onchange="change_size(this, 2)">
    <option value="1">test1</option>
    <option value="2">test2</option>
    <option value="3">test3</option>
</select>

<强> JS:

function change_size(id_product){
    var size  = $(this).value;
    $.ajax({
        dataType:"json",
        url: site_url + "main/add_cart/" + id_product + "/" + size,
        success:function(data){ 
            window.location.assign("cart");
        },
        error: function(data){
            alert('Anda belum memilih ukuran');
        }
    });
};