Задать вопрос
aaadddminnn
@aaadddminnn
php it ubuntu debian

Почему не обрабатывается нажатие самбита?

Привет. Вот есть функция. По нажатию на ссылку она использует апи испории хтм5 (эта часть роботает), а если по кнопке то должна вызвать вот эту функцию https://gist.github.com/bullgare/5336154 (часть проверки самбита не работает)
window.onload = function () {
    var FullList = document.getElementById('contentHolder');
    FullList.addEventListener('click', Content, false);  
    function Content(e) {
        var link = e.target;
        //если нажали на ссылку
        if (link.nodeName.toLowerCase() === 'a') {
            getContent(link, true);
            e.preventDefault();
        }
        //если нажали на самбит
        if (link.nodeName.toLowerCase() === 'submit') {
            alert(serialize(document.forms[0]));
        }
 
    }
    ;
};

Как исправить?
  • Вопрос задан
  • 264 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Потому что nodeName — это имя узла, а submit — не тэг, а значение атрибута.
И проверять нужно не click на кнопке, о отправку формы.

document.addEventListener('DOMContentLoaded', function () {
	var FullList = document.getElementById('contentHolder');

	FullList.addEventListener('click', function (e) {
		if (e.target.nodeName == 'A') {
			e.preventDefault();
			getContent(e.target, true);
		}
	});
	FullList.addEventListener('submit', function (e) {
		if (e.target.name == 'Имя_Формы') { // При наличии нескольких форм внутри FullList
			e.preventDefault();
			console.log(serialize(e.target));
		}
	});
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы