Показать сообщение отдельно
  #2 (permalink)  
Старый 03.01.2017, 12:22
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

<div class="big"><input type="text" name="name"></div>
<div class="mobile"><input type="text" name="name"></div>

<style>
	
input {
	all: initial;
}
	
.mobile {
	background: #ffeaea;
	display: initial;
}

.big {
	background: #d2ffde;
	display: none;
}

@media (min-width: 600px) {
	.mobile {
		display: none;
	}

	.big {
		display: initial;
	}
}
	
</style>
<script>
	
{
	let onResizeHandler = event => {
		for(let element of document.querySelectorAll("input[name], input[data-name]")) {
			if(!("name" in element.dataset)) element.dataset.name = element.name;
			
			// если элемент формы не виден,
			// то удаляем его "name" атрибут;
			// иначе восстанавливаем
			if(element.offsetWidth > 0 && element.offsetHeight > 0) {
				element.setAttribute("name", element.dataset.name);		
			} else {
				element.removeAttribute("name");
			}
		}
	};

	addEventListener("resize", onResizeHandler);
	onResizeHandler();
};
	
</script>

<!-- просто кнопка, не к теме, но открывает в новом окне, чтобы можно было изменять его размеры смотря в консоль на inputs -->
<input type="button" style="position:absolute;bottom:0;right:0" value="In new tab" onclick="var o=open('', '', '');o.document.write(document.documentElement.outerHTML);">


Хотя такое решение, не является *на самом деле* решением, поскольку в HTML следует хранить только данные, а не их представление.
У вас на самом деле одна форма, но вы хотите чтобы она по разному выглядела. С помощью CSS можно как угодно оформлять и переставлять элементы на странице.
http://www.mezzoblue.com/zengarden/alldesigns/ Пример одного HTML, и как его можно разными способами при помощи CSS преображать...

Последний раз редактировалось Malleys, 03.01.2017 в 12:36.
Ответить с цитированием