Показать сообщение отдельно
  #6 (permalink)  
Старый 30.12.2014, 15:29
Новичок на форуме
Отправить личное сообщение для TepKuH Посмотреть профиль Найти все сообщения от TepKuH
 
Регистрация: 07.05.2009
Сообщений: 9

Сообщение от Rise Посмотреть сообщение
TepKuH, расово верным не выглядит писать js в атрибутах html элементов (а при наличии jquery вообще бред), click позволит полностью разделить js и html.
Всё верно, это не выглядит правильным по моему ИМХО. Потому я предложил три варианта (какие смог выдумать с моими знаниями JS) решения задачи где я пишу в атрибутах HTML и не пишу в атрибутах HTML.
Но ведь конструкция
$( "#dialog-confirm" ).data("itemid", item.id).show();
Не говорит о том что я что то пишу в атрибуты элементов HTML. Или говорит?
Предложенная вами конструкция на сколько я понял должна выглядит так:
var a;
function showModal(item) {
	var id = $(item).attr("id");
        a = id;
	$( "#dialog-confirm" ).show();
}

function sendData(a) {
	console.log(a);
	//Отправка данных на сервер-сайд
	return true;
}

$("button[name=continue]").on('click',function(){
        sendData(a);
});	
	
});

Она конечно выглядит максимально правильной, так как полностью разделяет верстку HTML и логику. Но есть одно НО, это держать глобальную переменную. При наличии одного модального окна, эт конечно не проблема, но у меня модальных окон на странице порядка 15 штук. Что выглядит ужасно и трудно понять какая переменная относится к какому модальному окну.
Но ведь предложная конструкция господина "Яростный Меч" так же разделяет верстку и логику и позволят не держать глобальной переменной в коде JS и в HTML
Или я не прав?

Последний раз редактировалось TepKuH, 30.12.2014 в 15:35.
Ответить с цитированием