簡體   English   中英

Javascript / jQuery-定義后,“無法調用未定義的方法'push'”

[英]Javascript/jQuery - “Cannot call method 'push' of undefined” while it IS defined

在一個簡單的腳本中,它通過一些表單字段,獲取用戶輸入並將其存儲到數組中,我遇到了問題。

當我這樣做時它起作用:

var q1A = parseFloat($('#q1-1').val());
if(isNaN(q1A)) {
    var q1A = 0;
}
parameter.push(' ');
answers.push(q1A);

但是現在我添加了另一個數組,在這種情況下,該數組應該簡單地存儲相同的q1A變量。 但是不知何故,我最終出現了“ Uncaught TypeError”,指出變量未定義! 新的代碼塊是:

var q1A = parseFloat($('#q1-1').val());
if(isNaN(q1A)) {
    var q1A = 0;
}
input.push(q1A);
parameter.push(' ');
answers.push(q1A);

我在控制台中記錄了該變量,它工作得很好,它已經設置並且具有值。 知道為什么它說是不確定的嗎? “答案”數組可以很好地存儲值。

提前致謝!

編輯:

當然,我定義了變量。 我只是沒有發布那部分代碼...

var groups = new Array();
var questions = new Array();
var input = new Array();
var parameter = new Array();
var answers = new Array();
var amounts = new Array();

由於可以將未定義的變量無錯誤地推入數組,因此問題必須是當您嘗試在其上調用push()時未定義input

此問題的通常原因是,在另一個地方聲明了變量input ,並且從未在意外的地方對其進行初始化。

首先,您必須定義為數組。

var   input=[];

然后嘗試推動該元素。

input.push(element); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM