Sprawdź skrzypce, aby zobaczyć występujący błąd.Javascript Uncaught Błąd odniesienia Funkcja nie została zdefiniowana
Kiedy dodaję dane (nawet jeśli zostawiam je puste) do pola tekstowego i spróbuję kliknąć "Dodaj", to nic nie da.
Otwieranie konsoli Chrome i Firefox powoduje, że mam ten sam błąd, mówi "changeText2()" nie jest zdefiniowany.
Jak mogę to naprawić? Kilka razy spotkałem się z tym błędem i przeważnie miałem naprawdę dziwne obejścia, ale nie jestem pewien, jak go uniknąć lub co robię źle.
Wygląda na to, że usunięcie deklaracji zmiennej globalnej rozwiązuje ją przez większość czasu, jednak w tym przypadku potrzebuję ich i wolę wiedzieć, dlaczego i jak ten błąd występuje.
Każda pomoc jest bardzo doceniana.
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/
Zmień zawijanie w skrzypcach (menu po lewej stronie) na "Bez obijania głowy". –
@dystroy Powoduje błędy, ponieważ elementy jeszcze nie istnieją;) –
to ci pomoże ... http: //stackoverflow.com/questions/17378199/uncaught-referenceerror-function-is-not-defined-w- onclick – chandu