Короче, проблема такая: Есть такая форма Контрагент: ___________________________[...] При нажатии на кнопку [...] Нучно создать новое окно, создать таблицу с данными, при выборе любой из записей в это новой таблице необходимо отобразить выбранную запись в поле Контрагент, База данных не важна MySQL или MSSQL. Помогите, как это сделать!!!! Сразу оговорюсь, мне не нужно писать как подсоединять базу, выбрать и.т.д., я прошу следующее: Как открыть окно, выбрать из таблицы запись, потом закрыть новое окно, а в старом изменить соответствующий текстовое поле.
Открыть javascript-ом дочернее окно (window.open) со списком возможных значений. Каждое значение держит onclick на функцию, которая меняет в родительском окне необходимое поле и закрывает свое окно, оставляя только родительское (window.close)
в кратце так: Код (Text): <html> <head> <title>Title</title> </head> <body> <form> <label for="item">Контрагент: </label><input name="item" id="item" /> </form> <script> table = '<div>item1</div><div>item2</div><div>item3</div>' var choice = document.createElement('span') choice.innerHTML = '[..]' var choiceWindow choice.onclick = function() { if (choiceWindow && !choiceWindow.closed) { choiceWindow.focus() } else { choiceWindow = open('', 'choice', '') var d = choiceWindow.document d.write(table) d.close() var w = choiceWindow.window w.select = function() { item.value = this.innerHTML w.opener.focus() w.close() } var divs = d.getElementsByTagName('div') if (divs) for(var i=0; i<divs.length; i++) divs[i].onclick = w.select w.focus() } } var item = document.getElementById('item') item.parentNode.appendChild(choice) </script> </body> </html>
Код (Text): <script> // таблица, которая будет вставлена в новое окно table = '<div>item1</div><div>item2</div><div>item3</div>' // создаем элемент var choice = document.createElement('span') // содержимое его = '[..]' choice.innerHTML = '[..]' var choiceWindow // функция, вызываемая при нажатии на [..] choice.onclick = function() { // если окно есть и не закрыто - фокус на него if (choiceWindow && !choiceWindow.closed) { choiceWindow.focus() } // иначе else { // открываем окно choiceWindow = open('', 'choice', '') var d = choiceWindow.document // пишем в окно таблицу d.write(table) d.close() var w = choiceWindow.window // функция выбора элемента "таблицы" w.select = function() { item.value = this.innerHTML w.opener.focus() w.close() } // получаем все теги DIV var divs = d.getElementsByTagName('div') // если есть - обходим if (divs) for(var i=0; i<divs.length; i++) // каждому элементу назначаем функцию на событие onclick divs[i].onclick = w.select // фокус на окно w.focus() } } // получаем элемент с id = item var item = document.getElementById('item') // добавляем к нему элемент [..] item.parentNode.appendChild(choice) </script>
А как в новое окно запихнуть таблицу из mssql при помощи PHP? или как - то можно комбинировать javascript и PHP?