我正在编写一个JS应用程序,它将从Web表单中提取信息,以便在用户的第一个和最后一个首字母创建帐户ID,然后将所有帐户信息添加到数组中。我的帐户ID的生成工作,但当我进入我的浏览器控制台时,我只是为数组返回[]。以下是数组的确切说明:添加另一个语句,声明名为newAccountArray的全局变量,其中包含一个空数组作为其值。
这是我的代码:
'use strict';
var newAccountArray = [];
function createID(){
var fname = document.getElementById("fnameinput");
var lname = document.getElementById("lnameinput");
var zip = document.getElementById("zipinput");
var account = document.getElementById("accountidbox");
var fields = document.getElementsByTagName("input");
var acctid;
var firstInit;
var lastInit;
if( fname !== " " && lname !== " " && zip !== " "){
firstInit = fname.value.charAt(0).toUpperCase();
lastInit = lname.value.charAt(0).toUpperCase();
acctid = firstInit + lastInit + zip.value;
account.value = acctid;
newAccountArray = [];
for(var i = 0; i < fields.length -1; i++){
newAccountArray.push(fields[i].value);
}
}
}
function createEventListeners(){
var fname = document.getElementById("fnameinput");
var lname = document.getElementById("lnameinput");
var zip = document.getElementById("zipinput");
if(fname.addEventListener){
fname.addEventListener("change", createID, false);
lname.addEventListener("change", createID, false);
zip.addEventListener("change", createID, false);
}else if(fname.attachEvent) {
fname.attachEvent("onchange", createID);
lname.attachEvent("onchange", createID);
zip.attachEvent("onchange", createID);
}
}
if(window.addEventListener){
window.addEventListener("load", createEventListeners, false);
}else if(window.attachEvent){
window.attachEvent("onload", createEventListeners);
}