功能未定义即使它在同一个文件

时间:2017-02-23 18:38:47

标签: javascript jquery html ajax

我正在编写一个网页,该网页从html数据表中读取数据,并通过JavaScript上的AJAX查询在单独的PHP文件上更新其数据。该文件工作了一段时间直到最近(当我没有改变任何重要的代码时)。每当我点击一个调用名为getTableData的函数的按钮时,我会收到一条错误消息,表示即使它在同一个文件中也没有定义。

你能帮帮我吗?谢谢!

HTML:

<button onclick="getTableData()">Aceptar</button>
<button value = "Cancelar" action="#">Cancelar</button>

JS:

function getTableData(){
        var array = [];
        var headers = [];
        $('#tablaListado th').each(function(index, item) {
            headers[index] = $(item).html();
        });
        $('#tablaListado tr').has('td').each(function() {
            var arrayItem = {};
            $('td', $(this)).each(function(index, item) {
                if($(this).find("textarea").length){
                    var costo = $(this).find('textarea').val();
                    arrayItem[headers[index]] = costo;
                }else{
                    arrayItem[headers[index]] = $(item).html();
                }
            });
            array.push(arrayItem);
        });

        actualizarCostos(array);
    }

    function actualizarCostos(array){
        if(array.constructor === Array){
            for(var i = 0; i < array.length ; i++){
                console.log(array[i]);
                console.log(JSON.stringify(array[i]));
                $.ajax({
                    url: "http://www.page.com/Update.php",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    //jsonp: false,
                    //jsonpCallback: jsonCallback,
                    cache: true,
                    data:{ "table_data": JSON.stringify(array[i])},
                    success: function (data) {
                        callback();
                    },
                    error: function(xhr,status,err){
                         //alert("DEBUG: status"+status+" \nError:"+err);
                         alert(xhr.responseText);
                     }, 
                    traditional: true
                });
            }
        }else{
            alert("Input must be array");
        }
    }

    function callback(){
        alert("se paso!!!!");
    }

另外,我也尝试过使用document.getElementById("buttonAccept").click(getTableData);并且函数永远不会启动:(

0 个答案:

没有答案