Я пытаюсь настроить многомерный массив/массивов для создания мини-базы данных для временного использования. По какой-либо причине данные не будут храниться в массиве. Я не уверен, что я делаю неправильно.Многомерный массив Javascript, не сохраняющий данные
HTML
<form>
<fieldset name="EmployeeInfo">
<legend>Employee Information</legend>
<table style="width: 100%">
<tr>
<td style="width: 13%; height: 23px;" align="right">First Name:</td>
<td style="width: 20%; height: 23px;">
<input name="empFirst" style="width: 100%" type="text" maxlength="20" required /></td>
<td style="width: 16%; height: 23px;" align="right">M.I.</td>
<td style="width: 15%; height: 23px;" align="left">
<input name="empMI" type="text" maxlength="1" style="width: 20%" required /></td>
<td style="width: 16%; height: 23px;" align="right">Last
Name:</td>
<td style="width: 20%; height: 23px;">
<input name="empLast" style="width: 100%" type="text" maxlength="35" required /></td>
</tr>
<tr>
<td align="right">Business Name:</td>
<td>
<input name="BusinessName" style="width: 100%" type="text" maxlength="35" required /></td>
<td align="right">Address:</td>
<td colspan="2" align="left">
<input name="empAddress" style="width: 90%" type="text" maxlength="35" required /></td>
<td> </td>
</tr>
<tr>
<td class="auto-style1" style="height: 26px" align="right">City:</td>
<td style="height: 26px">
<input name="empCity" style="width: 100%" type="text" maxlength="25" /></td>
<td class="auto-style1" style="height: 26px" required align="right">State:</td>
<td style="height: 26px">
<select name="empState">
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District Of Columbia</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI" selected="selected">Wisconsin</option>
<option value="WY">Wyoming</option>
</select></td>
<td class="auto-style1" style="height: 26px" align="right">ZIP:</td>
<td style="height: 26px" align="left">
<input name="empZIP" style="width: 50%" type="text" maxlength="5" required /></td>
</tr>
</table>
Javascript
var empArray = [];
var storeArray = function(){
var employee = [];
employee["firstName"] = $("empFirst").value;
employee["MI"] = $("empMI").value;
employee["lastName"] = $("empLast").value;
employee["address"] = $("empAddress").value;
employee["city"] = $("empCity").value;
employee["state"] = $("empState").value;
employee["lastName"] = $("empZip").value;
empArray.push(employee);
updateList();
}
var updateList = function(employee){
for (var i in employee){
var fullName = employee[i]["firstName"] + " " + employee[i]["MI"] + " " + employee[i]["lastName"];
var employeeList = document.getElementById("drpEmp");
var option = document.createElement("option");
option.text = fullName;
employeeList.add(option, employeeList[i]);
}
}
window.onload = function(){
$("btnNewEmp").onclick = storeArray;
}
[править] Забыли JSFiddle: https://jsfiddle.net/m06x7dn3/2/
Проверьте наличие ошибок в консоли JavaScript. – folkol
Я был, и он прошел без ошибок. Все переменные остаются неопределенными, даже если они есть в полях. – CaptObvious42