addEventListener nie działa

0

Cześć. Potrzebuje pobrać dane z pola tekstowego.
Zgodnie z waszymi sugestiami nie używam do tego onClick tylko addEventListener. Niestety coś mi nie działa.

	var butt = document.getElementById("butt");
	butt.addEventListener("click", function(){
    var value = document.getElementsByTagName("textarea")[0].value;
    board.width = value;
    board.height = value;
});

Wiecie co jest nie tak?

0

Wrzuć tutaj: http://jsfiddle.net/, albo zdefiniuj "coś mi nie działa". Jakiś błąd w konsoli? Co to board? console.log(butt) wskazuje na ten element? value ma dobrą wartość?

1

U mnie addEventListener() działa

0

A czy przypadkiem nie powinno być na końcu board.style.width = value i board.style.height = value;

0
NikolaPolov napisał(a):

A czy przypadkiem nie powinno być na końcu board.style.width = value i board.style.height = value;

Jeśli to style to chyba

board.style.height = value + 'px';
0

Przepraszam Was że odpisuję z takim opóźnieniem.
Width i height są własnościami obiektu board. Mają określać ile na ile pól ma mieć plansza.

Wrzucam jsfiddle: https://jsfiddle.net/6hx5tao2/7/

Co do błędu to konsola wyrzuca: Uncaught TypeError: Cannot read property 'addEventListener' of null
at script.js:2

1

butt to chyba niezbyt trafna etykieta zmiennej :D

PS. Popracuj nad indentacja bo to ulatwia szukanie bledu o jakies 100%

A zeby dzialalo to:

   var butt = document.getElementById("butt");
  
   board = {
        width: 0,
        height: 0,
   };
  
    butt.addEventListener("click", function() {
      var value = document.getElementsByTagName("textarea")[0].value;

      board.width = value;
      board.height = value;
      
      alert(board.width + " " + board.height);
    });

I dla porownania oryginal:

	var butt = document.getElementById("butt");
	butt.addEventListener("click", function(){
    var value = document.getElementsByTagName("textarea")[0].value;
    
    board.width = value;
    board.height = value;
    alert(board.witdh + " " + board.height)
    }
    board = {
    width: 0,
    height: 0,
    }

I jeszcze takie smaczki "witdh" :P

0

Pojawił mi się bardzo podobny problem. Ułożyłem kod tak jak ty ale dalej nie działa. Button "dodaj" ma dodawać wypełniony formularz do tablicy. Wyciąłem resztę kodu żeby było bardziej czytelnie: https://jsfiddle.net/24mL5g3q/8/

Wiesz dla czego to nie działa?

1

Przy przekazywaniu obiektu w addEventListener musisz zmienić wywołanie:

button = document.getElementsByTagName("button")[0];
var wyniki =
{
	tablica: [],
	ranking: [],
	handleEvent: function() {
		var tab = [];
		var value;
		for (var i = 0 ; i< 32; i++) {
			value = document.getElementsByTagName('input')[i].value;
			tab.push(value);
		}
		wyniki.tablica.push(tab);
    alert(tab);
	}
}
button.addEventListener("click", wyniki);
0

Ooo fajne nie wiedziałem że tak się da. A co w wypadku gdybym chciał dodać więcej takich przycisków?

0

Więcej przycisków do tej samej funkcji czy każdy przycisk inna funkcja z tego obiektu, bo nie do końca wiem o co chodzi.

0
button = document.getElementsByTagName("button")[0];
var wyniki =
{
	tablica: [],
	ranking: [],
	dodaj: function() {
		var tab = [];
		var value;
		for (var i = 0 ; i< 32; i++) {
			var value = document.getElementsByTagName('input')[i].value;
			tab.push(value);
		};
		wyniki.tablica.push(tab);
    alert(tab);
	}
}
button.addEventListener("click", function() {
	wyniki.dodaj();
});

mozna tez tak

1 użytkowników online, w tym zalogowanych: 0, gości: 1