Проверьте скрипт, чтобы увидеть произошедший сбой.
Когда я добавляю данные (даже если я оставлю их пустыми) в текстовое поле и попытаюсь нажать "Добавить", он ничего не сделает.
Открытие консоли Chrome и Firefox дает мне ту же ошибку, что "changeText2()" не определен.
Как я могу это исправить? Я несколько раз сталкивался с этой ошибкой, и в основном у нее были очень странные обходные пути, но я не уверен в том, как избежать этого или что я даже делаю неправильно.
Кажется, что удаление объявлений глобальных переменных фиксирует его большую часть времени, однако в этом случае мне они нужны, и они лучше знают, почему и как происходит эта ошибка.
Приветствуется всяческая помощь.
JavaScript:
var list = document.getElementById('deliveryIdArray');
var names = [];
function changeText2() {
var deliveryIdentification = document.getElementById('deliveryIdentification').value;
names.push(deliveryIdentification);//simply add new name to array;
//array changed re-render list
renderList();
}
function renderList(){
while (list.firstChild) {
list.removeChild(list.firstChild);
}
//create each li again
for(var i=0;i<names.length;i++){
var entry = document.createElement('li');
entry.appendChild(document.createTextNode(names[i]));
var removeButton = document.createElement('button');
removeButton.appendChild(document.createTextNode("remove"));
removeButton.setAttribute('onClick','removeName('+i+')');
entry.appendChild(removeButton);
list.appendChild(entry);
}
}
function removeName(nameindex){
names.splice(nameindex,1);
//array changed re-render list
renderList();
}
function getDeliveries(){
return names;
}
HTML:
<b>Number(s): </b>
<input id = "deliveryIdentification" name = "deliveryIdentification" type = "text" size = "16" maxlength = "30">
<!-- Array Area Creation -->
<input type='button' onclick='changeText2()' value='Add' />
<ol id="deliveryIdArray">
</ol>
Fiddle: http://jsfiddle.net/vSHQD/