Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 为什么这个功能不起作用?显示空值的val错误_Javascript_Php_Jquery_Ajax_Codeigniter - Fatal编程技术网

Javascript 为什么这个功能不起作用?显示空值的val错误

Javascript 为什么这个功能不起作用?显示空值的val错误,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,正在从模式表调用该函数。并且表体是通过ajax访问的。在这个表中,每行有两个文本框。每行和每个文本框的ID都不同。我将在下面显示我的代码 ajax函数是 $(document).ready(function(){ /////////////// Invoice Link Click //////////////// $("#invoice").click(function(){ var rowID=[]; ///////// Initializ

正在从模式表调用该函数。并且表体是通过ajax访问的。在这个表中,每行有两个文本框。每行和每个文本框的ID都不同。我将在下面显示我的代码

ajax函数是

$(document).ready(function(){
    /////////////// Invoice Link Click ////////////////
    $("#invoice").click(function(){

        var rowID=[];

        ///////// Initialize and assign row row value /////////////
        rowID = arrays;
        var tempArrays='';
        for(i=0;i<arrays.length;i++){
        if(arrays[i]!=''){
            if(tempArrays!=''){
                tempArrays=tempArrays+','+arrays[i];
                }
            else{
                tempArrays=arrays[i];
                }


            }
        }

        alert("SUCCESS ALERT" +tempArrays);

        alert(typeof tempArrays);
        if(rowID!=''){
            $.ajax({
                url:'<?php echo base_url(); ?>index.php/Ajax_calls/invoicingFetch',
                type: 'POST',
                data:{tempArrays:tempArrays},

                success: function(data){

                    $('#newtest').html(data);
                    alert("SUCCESSFULLY RETURNED............!!!!!!!!");

                    }
                });

            }


        });
    }); 
控制台中显示的错误是

将错误显示为未捕获类型错误:无法读取null的属性“val”


有人能告诉我原因吗?为什么会这样?感谢所有brilliants…..

您试图从元素中获取的值在DOM中不存在。请检查saleid元素(无论您传递什么)是否存在

您试图从元素中获取的值在DOM中不存在。请检查saleid(无论您传递什么)的元素是否存在。

.val()
是一个JQuery函数

但是您正在获取没有JQuery的元素

因此,如果
var margin=document.getElementById(marginid).value工作时,必须将
.val()
代码更改为
var sales=$('#'+saleid).val()

如果getting.value不起作用,则可能是元素没有值(可能不是输入元素),您正在查找innerText或innerHTML或某些数据属性

如果上述任何一项都不正确,saleid可能不是HTML中的有效id。

.val()
是一个JQuery函数

但是您正在获取没有JQuery的元素

因此,如果
var margin=document.getElementById(marginid).value工作时,必须将
.val()
代码更改为
var sales=$('#'+saleid).val()

如果getting.value不起作用,则可能是元素没有值(可能不是输入元素),您正在查找innerText或innerHTML或某些数据属性

如果以上都不正确,saleid可能不是HTML中的有效id。

使用

var sales=saleid.value;
而不是

var sales=document.getElementById(saleid).value;
使用

而不是

var sales=document.getElementById(saleid).value;


任何人都可以检查这个?可能您所需的ID元素没有值。
$row->TOTAL
是否总是一个值?错误发生在哪个事件上?根据控制台,UpdateMargin函数有错误。但是在快照中没有UpdateMargin函数数组的价值是什么?如果你认为是这样的话,你也可以分享你的html吗relevent@Andronkeypress和onchange上的éKelling都显示错误。但在源代码工具中,它显示传递的值。它显示为UpdateMargin(sale1765,margin17651110)。任何人都可以检查它?可能您所需的ID元素没有值。
$row->TOTAL
是否总是一个值?错误发生在哪个事件上?根据控制台,UpdateMargin函数有错误。但是在快照中没有UpdateMargin函数数组的价值是什么?如果你认为是这样的话,你也可以分享你的html吗relevent@Andronkeypress和onchange上的éKelling都显示错误。但在源代码工具中,它显示传递的值。它显示为UpdateMargin(sale1765,margin17651110)它显示的错误如下所示当进行更改时您说的未捕获错误:语法错误,无法识别的表达式:#[object HTMLInputElement]现在我刚刚用saleid在函数中添加了一个警报。它向ajax控制器函数[object HTMLInputElement]发出警报,该值正在传递。您可以检查它吗?这意味着saleid已经是一个元素,而不是表示该元素id的字符串。JQuery方式的解决方案应该是:
var sales=$(saleid).val()
没有散列,因此该元素将被包装为JQuery元素。这相当于
var sales=saleid.value。我建议在updateMargin函数中将名称从saleid和marginid更改为saleelement和marginelement,这样它们的名称才是正确的,而不是令人困惑的。在进行更改时,它会显示如下错误:未捕获错误:语法错误,无法识别的表达式:#[object HTMLInputElement]现在,我刚刚在函数中添加了一个带有saleid的警报。它向ajax控制器函数[object HTMLInputElement]发出警报,该值正在传递。您可以检查它吗?这意味着saleid已经是一个元素,而不是表示该元素id的字符串。JQuery方式的解决方案应该是:
var sales=$(saleid).val()
没有散列,因此该元素将被包装为JQuery元素。这相当于
var sales=saleid.value。我建议在updateMargin函数中将名称从saleid和marginid更改为saleelement和marginelement,这样它们的名称就正确了,而不是混淆。我已经检查过了。它的值为[object HTMLInputElement]。如何更改此项?请使用警报检查saleid[0]或saleid.value。
saleid.value
将提供我检查过的值。它的值为[object HTMLInputElement]。如何更改此值?请使用警报检查saleid[0]或saleid.value。
saleid.value
将为您提供值
var sales=document.getElementById(saleid).value;