Передача символа табуляции через форму.

virakochi

Устал
Передача символа табуляции через форму.

Столкнулся с совершенно глупой проблемой - необходимо передать символ табуляции через post-форму из значения select (выбор delimiter для экспорта).
Как ни прописываю (Tab в тесктовом редакторе, &#0009) - приходит пустая строка.
Знаю, что правильно передавать идентификаторы разделителей, но в данном случае это невозможно.
Спасибо за помощь.

-~{}~ 11.07.05 12:21:

Провел множество тестов, получается что символ табуляции явно передать невозможно. Верно ли это?
 

lucas

Guest
Похоже, что да.

Если отправить гетом таб, то он стрипается (http://localhost/test/?tab=).
Если обрамить таб символами, он конвертится в пробел (http://localhost/test/?tab=-+-).

Рекомендую почитать стандарт (w3c.org) на эту тему.
И "правильно передавать идентификаторы разделителей". :)

FF 1.0.4; IE 6.0.
 

virakochi

Устал
Придумал решение с JavaScript-ом.
Имхо кривое, но работает.

Код:
<script>
function check_del()
{
	sel = document.getElementById('del_sel');
	ta = document.getElementById('del_ta');

	if (sel.selectedIndex == 0)
	{
		sel.name = 'delimiter_old';
		ta.name = 'delimiter';
	}
	else
	{
		sel.name = 'delimiter';
		ta.name = 'delimiter_old';
	}
	
}
</script>
<form method="post">
<SELECT name="delimiter" size="1" id="del_sel" onchange="check_del()">
<OPTION value="	">Tab</OPTION>
<OPTION value=",">Comma</OPTION>
<OPTION value=";">Semicolon</OPTION>
</SELECT>
<textarea id="del_ta" style="display:none;">&#9;</textarea>
<input type="submit">
</form>
<script>
check_del();
</script>
 

virakochi

Устал
Мне очень хочется сделать по уму, но в данном случае проект чужой, и нет возможности переписывать все скрипты связанные с экспортом/импортом. Посоветовавшись с ПМ-мом решили что этого делать не будем (зря он так).
Проблему нужно было решить только в контексте этого списка разделителей.
 
Сверху