загрузка из файла в ячейку поля
есть таблица состоящая из двух колонок: в одной колонке ссылки, в другую необходимо загружать соответствующие данные. причем загружать надо из файла (файл содержит текст и изображения).
вроде бы просто, но моих познаний, к сожалению, не хватает... подскажите на примерах как это лучше реализовать. 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, время: 18:38. |