Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Текст после таблицы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

knyazevsergey

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые специалисты!
Есть некая задача. На странице выводится простая таблица (!с возможностью редактирования):
   
Код страницы такой:

Код:
 
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7601.17514"></HEAD>
<BODY contenteditable="true">
<TABLE style="WIDTH: 100%"  bgColor=#ffffe1>
<TBODY>
<TR borderColor=#ffffe1>
<TD>Text XYZ</TD></TR></TBODY></TABLE>
</BODY></HTML>
 

 
Задача состоит в том, чтобы принудить пользователя редактировать текст именно внутри желтенькой таблицы, а не за ее пределами. Но принудить не получается, т.к. за таблицей можно также поставить курсор:
   
 
Реально ли сделать так, чтобы эту возможность убрать? Т.е. чтобы браузер "думал", что последний символ в документе - "Z", а не пустой символ после таблицы, как на предыдущем скриншоте. Меня это и устроит. Иными словами, чтобы при открытии страницы, при нажатии мышкой в любом месте ниже таблицы курсор становился в таблице (вот так):
 

Всего записей: 8 | Зарегистр. 06-08-2008 | Отправлено: 14:31 24-09-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knyazevsergey
http://stackoverflow.com/questions/6012823/how-to-make-html-table-cell-editable
 
ставьте
Цитата:
contenteditable

не в body, а в каждой td, к примеру.

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 18:02 24-09-2015
knyazevsergey

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Да, я это делал. Но в этом случае как показано на скриншоте 3, работать не будет. Курсор нужно будет точно поставить самому мышкой в указанной таблице, это неудобно.
 
Придется объяснить все-таки цель всего этого. В 1С есть поле HTML документа, куда помещается история общения между сотрудниками. Стоит задача подсвечивать сообщения. Легче всего это реализовать через таблицу. Т.е. каждое новое сообщение находится внутри отдельной таблички.
Так вот при новом открытии сотрудником окна общения необходимо также перемещаться в самый низ документа. Для этого я посылаю сочетание клавиш Ctrl+End  (помидорами не кидаться, 1С по-другому не позволяет  ).
 
Если сделать, как ниже, то сочетание клавиш Ctrl+End не сработает.
 

Код:
 
Код HTML5Выделить код
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7601.17514"></HEAD>
<BODY contenteditable="false"><!-- Client content begin -->
<TABLE style="WIDTH: 100%" border=1 cellSpacing=3 borderColor=white cellPadding=3 bgColor=#ffffe1>
<TBODY>
<TR borderColor=#ffffe1>
<TD><div contenteditable="true">Text1</div><TD></TR></TBODY></TABLE><!-- Client content end -->
</BODY></HTML>
 

 
Я думал, что может есть способ как-то задать свойства содержимого всео документа или таблицы, чтобы не появлялась лишняя строка после таблицы
Либо может существует javascript, который способен искусственно поставить курсор там где надо в html-документе (т.е. в нашем примере сразу после буквы "Z").
Тогда указанный вами способ подойдет.
Подскажите, пожалуйста, в какую сторону хотя бы копать.

Всего записей: 8 | Зарегистр. 06-08-2008 | Отправлено: 18:08 24-09-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knyazevsergey

Цитата:
чтобы не появлялась лишняя строка после таблицы  

в вашем варианте полного редактирования ее (и не только ее) можно всегда добавить.
нужно, для начала, ограничивать возможности только в пределах ячейки, а тогда уж можно и передавать фокус любому элементу по желанию.
а почему не использовать просто инпуты в ячейках?  

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 18:12 24-09-2015
knyazevsergey

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробовал инпуты. Курсор также не позиционируется где нужно. А javascript, которым запускаю .focus не срабатывает, т.к. видимо настройки безопасности какие-то. Их выключать не хочется.
 
Можно ли как то убрать все-таки эту злочастную строку?
Т.е. отрисовать таблицу и больше ничего?

Всего записей: 8 | Зарегистр. 06-08-2008 | Отправлено: 18:52 24-09-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knyazevsergey

Цитата:
А javascript, которым запускаю .focus не срабатывает

либо код кривой )
 

Цитата:
Можно ли как то убрать все-таки эту злочастную строку?  

в каком браузере смотрите? в хроме и последнем IE нет последней строки.

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 18:56 24-09-2015
knyazevsergey

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
в каком браузере смотрите? в хроме и последнем IE нет последней строки.

 
Да, действительно в хроме и IE мышкой не позиционируется.
Но нажмите ctrl+end, и попробуйте что-нибудь напечатать.

Всего записей: 8 | Зарегистр. 06-08-2008 | Отправлено: 19:12 24-09-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knyazevsergey

Цитата:
Но нажмите ctrl+end, и попробуйте что-нибудь напечатать.  

нет проблем, печатает в таблице

Всего записей: 15038 | Зарегистр. 20-09-2014 | Отправлено: 19:24 24-09-2015
knyazevsergey

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за помощь. Не буду больше мучать. 1Ска не поддерживает такие скрипты с установкой фокуса, как вы указали. Она просто не отрабатывает их. Старый в ней браузер, с ограниченными возможностями.
 
Вообщем пришел все-таки к решению, которое пока устраивает (вернее, это лучше чем ничего). В параметрах таблицы указываю align="LEFT". И курсор после таблицы становится уже не снизу, а справа от таблицы (т.е. строки как таковой ниже таблицы уже нет). После этого при загрузке документа посылаю нажатие клавиши "влево" (опять прошу помидорами не кидаться, другого не вижу решения).
И курсор становится прямо в таблице.
При этом ниже таблицы пользователь уже курсор мышкой не поставит! Что вообщем-то и являлось целью.
 
Т.е. получилось так:

Код:
 
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7601.17514"></HEAD>
<BODY contenteditable="true">
<TABLE style="WIDTH: 100%"  bgColor=#ffffe1 align="LEFT">
<TBODY>
<TR borderColor=#ffffe1>
<TD>Text XYZ</TD></TR></TBODY></TABLE>
</BODY></HTML>
 

 
Спасибо еще раз.
В итоге покажу, что получилось вообще в целом (для чего это все извращение было):
http://www.lantegra.ru/temp/screenshot_release.png

Всего записей: 8 | Зарегистр. 06-08-2008 | Отправлено: 10:53 25-09-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Текст после таблицы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru