Пишу системку заполнения платежных документов через сайт - т.е. веб-форма работающая с БД MySQL - сохраняющая вводимые через нее документы и т.д. Кто встречался с 1С знает как там устроены формы заполнения документов - как правило там есть шапка и табличная часть, так вот с шапкой проблем нет - это как правило комбинация различных элементов html-формы (checkbox, button, text, radio и т.д.), а вот табличная часть - это проблема для меня! Пока остановился на том что бы использовать элемент <select> т.е. примерно так: Код (Text): <select name="spisok" multiple size="20" style="width:100%"> <option>Заголовок 1 | Заголовок 2 | Заголовок 3 | Заголовок 4 <option>Данные | Данные | Данные | Данные </select> так вот это подобие таблицы, которую я хочу заполнять прямо в броузере - т.е на основе javascript, чтобы пользователь мог добавить, удалить запись и т.д. и все с помощью javascript! Мой вопрос - как это сделать? ПРиведите если не сложно кусок кода - а то что-то не найду! И вообще может кто встречался с такими проблемами и решил их более цивилизованным путем???
Извини, кодом не поделюсь: корпоративная тайна Но идея вот: Табличная часть, естественно, делается таблицей (круто, да?). Ввод в ячейку осуществляется втыкиванием в эту ячейку (с помощью JavaScript) <input type="text"> и, если есть кнопка выбора, <button. Если то список, то соотв, впихивается селект. Кнопка выбора открывает либо окно, либо <div> поверх всего (мы ушли от окна, поскольку 1. многооконный интерфейс; 2. оно не позволяет блокировать родительское окно). Сразу советую делать заголовки в <thead>, а данные в <tbody>. Причем если документ имеет много табличных частей (головная боль 1С), то можно использовать несколько tbody или несколько таблиц (зависит от ситуации). Итоговые данные (общая сумма и т.п.) лучше засунуть в <tfooter>. Все эти ухищрения нужны только для удобства программирования вставки/извлечения данных. Ну и без AJAX тут плохо, т.е. никуда А каким боком использовать select для табличной части - я не понял... :shock:
Просто я думал выводить таблицу именно в <select> - ведь там удобно выделять строки и т.д. более того если воткнуть в <form></form> и разделять в строках поля любым символом например | , то потом легче парсить для того чтобы засунуть все это в БД через запрос!
Радует, что не я один такой извращенец... а родительское окно поди полупрозрачным гифом блокируете? =)
Я тут наткнулся на такую вещь, как аргумент useCapture функции addEventListener. http://developer.mozilla.org/en/docs/DOM:element.addEventListener Надобудет попробовать его понять и поюзать.