No Documents Found

  • Автор темы Gor
  • Дата начала
G

Gor

На форме

JS Header

function CheckNoDocuments()
{
alert ('sssssssssssssssssssssssssssssssssss');
if (document.getElementById("divEmbeddedView").innerHTML.indexOf("No documents found") > 0)
{
document.getElementById("divEmbeddedView").innerHTML = "=))"
};
}

On load
CheckNoDocuments();


Да и всё в принципе

вьюха находится на сабформе которая в форму прикручена, и она в Table ещё

<tr valign="top"><td width="923" bgcolor="#F4FAFE" colspan="2"><div id="divEmbeddedView"><br>
<h2>No documents found</h2></div></td></tr>


Я ещё Alert сейчас повесил на OnLoad ... и чёто он не вылазит....



А стиль H2 можно запретить применительно только к ячеке в таблице к примеру???
 
A

Akupaka

когда пишешь о JS-е, упоминай какой браузер, на всякий случай :)

The indexOf method returns an integer value indicating the beginning of the substring within the String object. If the substring is not found, a -1 is returned

т.е. надо:
if (document.getElementById("divEmbeddedView").innerHTML.indexOf("No documents found") >= 0)
лучше так, наверное будет:
if (document.getElementById("divEmbeddedView").innerHTML.toLowerCase().indexOf("no documents found") != -1)
хотя особой разницы нет...

сделай так как я писал ранее, в <script> после </div>
 
G

Gor

В общем я сделал обработчик

Код:
<div id="divEmbeddedView"><script language="JavaScript" type="text/javascript">
<!-- 
CheckNoDocuments();
// -->
</script><br>
<h2>No documents found</h2></div>

Сейчас с этим обработчиком, действительно срабатывает функция CheckNoDocuments(); т.к.
мне выкидывается alert ssssssssssssssssss

но почему то дальше код по функции не срабатывает...

Код:
function CheckNoDocuments()
{ 
alert ('sssssssssssssssssssssssssssssssssss');
if (document.getElementById("divEmbeddedView").innerHTML.toLowerCase().indexOf("no documents found") != -1)
{
document.getElementById("divEmbeddedView").innerHTML = "Us"
};
}

Может быть проблема с тем что это Embeded View с опцией Show single category???

Ведь по сути дела во вьюхе доки то есть только их не видно...
В общем скрипт срабатывает, но на If не уходит...
 
A

Akupaka

надо <script> после </div> :)
т.к. сделал ты, не будет срабатывать, т.к. код обработчика отработает еще до прописывания "No documents found"!

Код:
<div id="divEmbeddedView"><br>
<h2>No documents found</h2></div><script language="JavaScript" type="text/javascript">
<!--
CheckNoDocuments();
// -->
</script>
 
G

Gor

Заработало =))
А почему тогда на OnLoad не работает?
странно...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
to: Imike

Хех) Я просто не знаю как применить отмену H2 стиля)

Хотяяя... вьюха у меня в ячейке таблицы висит, если только на ячейку таблицы повесить H2 {display:none}

Тогда же по идее это только применимо к данной ячейки будет?

Что то не то у меня опять получилось)

<td style="H2 {display:none;}" width="923" bgcolor="#F4FAFE" colspan="2"><h2>No documents found</h2></td></tr>
</table>

А как в ячейке таблицы этот стиль запретить?
дело в том, что этот стиль можно сделать глобальным и задать область видимости, вот пример:
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style>
.mydiv H2{
/*			color:#FFFFFF;
background-repeat:no-repeat;
background-image:url(./USA.ico);*/
display:none;
}
</style>
</head>
<body>
Text1
<h2>Another text bla-bla</h2>
<div class="mydiv"><h2>No Documents</h2></div>
Text2
</body>
</html>

можно еще поиграть с отступами текста (в блоке) и подключть бэкграунд, с нужной надписью, вот и задание произвольного текста ;)

а вот фокус с табличкой, и заметьте - ни строчки JS или "серверного" кода,
Код:
		<div class="mydiv">
<table>
<tr>
<td>table cell-1</td>
<td><h2>No Documents</h2></td>
<td>table cell-3</td>
</tr>
</table>
</div>
 
G

Gor

дело в том, что этот стиль можно сделать глобальным и задать область видимости, вот пример:
Да, но два минуса такого хода действительно это невозможность использования заголовков H2 также глобально и
невозможность напсиания своей фразы вместо no documents found, а то что способ без использования JS это естественно плюс.

всем спасибо за ответы!))
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
яж уже сказал и пример расширил, что у H2 можно ограничить область (div задать) - выб пример попробывали ;)
и про текст написал - тоже обходится (там закоментил + надо было смещение текста добавить)
ктомуже - вы редко, а практически НИКОГДА не увидите использование H2 (и сами не будете пользовать)

если есть уж такое желание JS юзать - юзайте (и изучайте) JQuery, сэкономите массу времени в будующем и не будете велики плодить...
к нему есть масса плагинов (бездна ф-ционала)
короче:
вот один из наборов плагинов:

а вот вам еще один покус (закоментил вариант со сдвигом и картинкой):
Код:
		.mydiv H2 {
color:#FFFFFF; font-size:0px;
/*			background-repeat:no-repeat;
background-image:url(./USA.ico);
text-indent:50px;*/
/*display:none;*/
}
.mydiv H2:before {color:#FF0000; content:"test";}

ну и кто сказал про неуправляемость текста? :)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
забыл упомянуть - УЁ не пройдет (текст не покажет), а с картинкой все сработает
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!