загрузка из файла в ячейку поля
есть таблица состоящая из двух колонок: в одной колонке ссылки, в другую необходимо загружать соответствующие данные. причем загружать надо из файла (файл содержит текст и изображения).
вроде бы просто, но моих познаний, к сожалению, не хватает... подскажите на примерах как это лучше реализовать. PS топик должен был называться "загрузка текста из файла в ячейку таблицы" |
Вы просите готовый скрипт с нуля.
Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
ajax
|
перефразирую вопрос =)
есть таблица: <html> <head> </head> <body> <table border="1"> <tr> <td valign="top" width="820"> <a href="index.htm" id="1">ссылка 1</a> <a href="index.htm" id="2">ссылка 2</a> <a href="index.htm" id="3">ссылка 3</a> </td> <div id="right"> <td valign="top" height="231" width="171"> <SCRIPT LANGUAGE="JavaScript"> document.getElementById('1').onclick=function() {document.write("текст ссылки 1")} document.getElementById('2').onclick=function() {document.write("текст ссылки 2")} document.getElementById('3').onclick=function() {document.write("текст ссылки 3")} document.write("текст по умолчанию"); </SCRIPT> </td> </div> </tr> </table> </body> </html> почему "текст по умолчанию" пишется где надо (в правой колонке), а текст, который появляется после нажатия на ссылку, появляется заместо всей страницы? |
потому что document.write пишет в поток только в случае еще не сформированной страницы
после события window.onload будет происходить перезапись документа используйте свойство innerHTML нужного вам тега, для того чтобы переписать его содержимое document.getElementById('qwe').innerHTML='новый текст'; |
Gvozd, спасибо)
попробывал: <html> <head> </head> <body> <table border="1"> <tr> <td valign="top" width="500"> <a href="index.htm" id="1">ссылка 1</a> <a href="index.htm" id="2">ссылка 2</a> <a href="index.htm" id="3">ссылка 3</a> </td> <td valign="top" width="500"> <div id="right"> текст по умолчанию </div> </td> </tr> </table> <SCRIPT LANGUAGE="JavaScript"> document.getElementById('1').onclick=function() {document.getElementById('right').innerHTML='текст ссылки 1';} document.getElementById('2').onclick=function() {document.write("текст ссылки 2");} document.getElementById('3').onclick=function() {document.write("текст ссылки 3");} </SCRIPT> </body> </html> в IE 8 при нажатии "ссылка 1" в правой колонке моргает надпись "текст ссылки 1" и все возвражается в состояние до нажатия. то есть так же пишется "текст по умолчанию" |
судя по всему, потому что у вас не отменяется действие по умолчанию у ссылки(переход по ссылке)
таким образом, после щелчка по ссылке, вы сперва видите новую надпись, а потом переходите на эту же страницу, и как результат видите снова старую, изначальную надпись решается добавлением в обработчик события return false; это отменяет действие по умолчанию, и по ссылке перехода не произойдет PSв других оработчиках document.write() также стоит заменить на innerHTML |
Gvozd,
спасибо вам! сегодня еще над загрузкой из файла подумаю. может как-то через jQuery получится... в принципе содержимое файла уже выводится, но, опять-таки, перезаписывая все остальное. |
сделал через iframe.
что-то типа var IframeId= document.getElementById('iframe'); document.getElementById('TopMenuAboutCompany').onclick=function() { IframeId.src = "/html/TopMenu/AboutCompany.html"; IframeId.height = "400"; return false; } |
еще один вопрос назрел.
надо поменять цвет и надпись у ссылки. пытаюсь через: document.getElementById('ИДСсылки').value = " - о компании " но не получается... |
У ссылки нет свойства value! Марш учить DOM!!!
|
ребят, подскажите. не работает.
document.getElementById(id ссылки).style="color:#FF0000"; |
document.getElementById(id ссылки).style.cssText = "color: #FF0000;";
|
спасибо всем за советы =)
рассказываю, как я это реализовал... сделал через iframe. в этом коде в iframe загружаются html страницы, изменяется размер iframe (вдруг какая-то страница значительно больше размера iframe по умолчанию), и изменяется надпись и цвет (через стили) у активной ссылки (в моем случае у активной ссылки вместо "-" рисуется "+") <html> <head> <script type="text/javascript" src="/js/LinkStyle.js"></script> </head> <body> <a href="#" class="active" id="TopMenuAboutCompany" onclick="LinkStyle(this, 'TopMenuAboutCompany', '\/html\/TopMenu\/AboutCompany.html', '400', ' + о компании |')"> + о компании |</a> <a href="#" id="TopMenuAboutProduction" onclick="LinkStyle(this, 'TopMenuAboutProduction', '\/html\/TopMenu\/AboutProduction.html', '400', ' + о продукции |')"> - о продукции |</a> <a href="#" id="TopMenuPartners" onclick="LinkStyle(this, 'TopMenuPartners', '\/html\/TopMenu\/Partners.html', '400', ' + партнеры |')"> - партнеры |</a> <a href="#" id="TopMenuContacts" onclick="LinkStyle(this, 'TopMenuContacts', '\/html\/TopMenu\/Contacts.html', '550', ' + контакты |')"> - контакты |</a> <a href="#" id="TopMenuInformation" onclick="LinkStyle(this, 'TopMenuInformation', '\/html\/TopMenu\/Information.html', '1450', ' + информация |')"> - информация |</a> <iframe src="/html/TopMenu/AboutCompany.html" width="744" height="400" frameborder=0 scrolling=no id="iframe" > </iframe> </body> </html> function LinkStyle(a, IdLink, IframeSrc, IframeSize, LinkText) {//?, ИД ссылки; путь до загружаемого файла; размер фрэйма; надпись ссылки; //верхнее меню. устанавливаем надписи к ссылкам по умолчанию. document.getElementById('TopMenuAboutCompany').innerHTML=' - о компании |' document.getElementById('TopMenuAboutProduction').innerHTML=' - о продукции |' document.getElementById('TopMenuPartners').innerHTML=' - партнеры |' document.getElementById('TopMenuContacts').innerHTML=' - контакты |' document.getElementById('TopMenuInformation').innerHTML=' - информация |' var IframeId = document.getElementById('iframe'); //куда загружаем файл, открываемый по ссылке var aa = document.getElementsByTagName('a'); for( i in aa ) if( aa[i] != a && aa[i].className == 'active' ) {aa[i].className = '';} else {a.className = 'active'; IframeId.src = IframeSrc; //устанавливаем путь до файла, который загружаем в iframe; IframeId.height = IframeSize; //устанавливаем размер iframe; document.getElementById(IdLink).innerHTML = LinkText; //надпись ссылки } return false; } PS может и не идеально, но зато мое детище))) этакой недоношенный, кривобокий рахитик... критика приветствуется |
Цитата:
|
Вложений: 2
на картинке "1_подбор.JPG" там где несколько параметров и кнопка "подобрать" - это ifame.
на картинке "2_вывод.JPG" - изображены таблицы с параметрами, которые выводятся в тот же ifame. используется база mysql, и, соответственно, php. вопрос: надо в соответствии со значением "наденно аккумуляторов" ( $num_results = mysql_num_rows (mysql_query($query)) ) устанавливать размер iframe. |
Цитата:
|
размер iframe устанавливается также как и любой другой размер блокового элемента html. У iframe есть ширина и высота.
Определите размер одной строки (результата) умножте на ваш $num_results и получите приблизительную высоту Вашего ифрейма. дальше: document.getElementById("iframe_id").style.height = height_iframe |
сначала написал, потом подумал...
буду эксперементировать. по результатам отпишусь. |
а чего вы мне не сказали, что есть вот такое вот замечательное средство для автоматического урегулирования размера iframe?
parent.document.getElementById("iframe").style.height = document.body.scrollHeight |
Мы ждали когда ты сам догадаешься. 'px' добавь.
|
Часовой пояс GMT +3, время: 13:32. |