js没有在chrome上运行但在firefox上运行

时间:2016-09-28 14:17:49

标签: javascript jquery

我提到了代码以及带有js的文本框的动态代码。我在运行此代码时遇到chrome问题但是这个代码在firefox上正常运行,所以请给我一些关于此代码的建议。

  1. 文本框的HTML代码

    <td><input class="form-control"  required type='text' id='productname_1' name='productname[]'/></td>
    <td><input class="form-control" readonly="" required  type='text' id='price_1' name='price[]'/></td>
    <td><input class="form-control" required  type='text' id='quantity_1' name='quantity[]'/></td>
    <td><input class="form-control" readonly="" required type='text' id='total_1' name='total[]'/> </td>
    
  2. 文本框的dymamic html代码

    <td><input class='form-control productname12_"+i+"' required type='text' id='productname_"+i+"' name='productname[]'onchange='myFunction()'/></td> <td><input class='form-control' readonly type='text' id='price_"+i+"' required name='price[]'/></td><td><input class='form-control' type='text' required id='quantity_"+i+"' name='quantity[]'/></td><td><input class='form-control'  readonly type='text' required id='total_"+i+"' name='total[]'/></td>
    
  3. js code

    function myFunction() {
            var x = document.getElementById('productname_'+j).value;
            //alert(x);
            $.ajax({
                        type:"POST",
                        url:"addplaceorder/getproductprice",
                        data:{'name':x},
                        cache:false,
                        success:function(html){
                            //alert(html);
                            //alert('#price_'+k);
                            $('#price_'+k).val(html);
                        }
                    });
    
                $('#quantity_'+j).change(function(){
                    var val = $(this).val();
                    var price = $('#price_'+k).val();
                    //alert(name);
                    var total = (val* price);
                    //alert(total);
                    totalamount = totalamount+total;
                    //alert(totalamount);
                    $('#total_'+k).val(total);
                    $('#showtotal').text(totalamount);
                });
    
                $('#quantity_'+j).keypress(function (e) {
                 if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
                    //display error message
                    //$("#errmsg").html("Digits Only").show().fadeOut("slow");
                           return false;
                    }
               });
    
            j++;k++;
        }               
    

1 个答案:

答案 0 :(得分:0)

这可能是问题

var x = document.getElementById('productname_'+j).value;

变量j未初始化,因此值未定义。我想没有id为“productname_undefined”的元素。因此,当您尝试从该未定义元素中读取值时,您将收到错误。像“无法读取未定义的属性值”这样的东西

PS:最好使用debugger语句,而不是alert();

相关问题