Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2011, 15:21   #1
Varabei
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 15
По умолчанию Скрыть/отобразить элемент

Привет!
Есть код.
Код HTML:
<script type="text/javascript">
function show_hide(id)
	{ 
	var div = document.getElementById(id);
    if(div.style.display == 'block') {
        div.style.display = 'none';
    }
    else {
        div.style.display = 'block';
    }

	}
</script>
<input type="button" onclick="show_hide('test')" />
<br />

<div id="test" style="display:block">
Hello!!!
</div>
Вроде всё нормально при нажатии на кнопку надпись должна исчезать или появляться.
Открываю страничку в браузере и нифига ни чего не работает. Делаю в браузере просмотр исходного кода а там почему то
<input type="button" onclick="show_hide(' 'test' ')" />,
короче параметр test заключён в два апострофа.
Эта страничка у меня сохранена как 1.tpl и подгружается в основной контент при помощи php.

А когда я её в браузере открываю отдельно то всё работает. Смотрю исходник там test в одних апострофах как и положено.
Ну а когда запускаю весь сайт снова эти два апострофа.

Короче почему так не могу понять. Может кто подскажет. Буду благодарен.
Varabei вне форума Ответить с цитированием
Старый 12.08.2011, 15:27   #2
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Во первых, можно сделать, так
Код:
<script type="text/javascript">
function show_hide()
	{ 
	var div = document.getElementById('test');
    if(div.style.display == 'block') {
        div.style.display = 'none';
    }
    else {
        div.style.display = 'block';
    }

	}
</script>
<input type="button" onclick="show_hide();" />
<br />

<div id="test" style="display:block">
Hello!!!
</div>
Во вторых можно так.
Код:
<script type="text/javascript">
function show_hide(obj)
	{ 

    if(obj.style.display == 'block') {
        obj.style.display = 'none';
    }
    else {
        obj.style.display = 'block';
    }

	}
</script>
<input type="button" onclick="" />
<br />

<div id="test" style="display:block" onclick="show_hide(this);">
Hello!!!
</div>
Кстати!
Цитата:
<input type="button" onclick="show_hide('test')" />
не
onclick="show_hide('test')"
а
onclick="show_hide('test');"

Точка с запятой.
У меня всегда не работает если не поставить
Всё гениальное - просто!

Последний раз редактировалось Air; 12.08.2011 в 15:29.
Air вне форума Ответить с цитированием
Старый 13.08.2011, 14:34   #3
Varabei
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 15
По умолчанию

Первый вариант не подходит так как он для частного случая,
Второй то же, так как клацать надо именно по диву.

Я тут кстати выяснил такую штуку:
Если я файл '4.tpl' подгружаю через include '4.tpl'; , смотрю в браузере исходный код,
Код HTML:
...
<input type="button"  value="Смотреть"  onclick="show_hide('lesson_1');"/> 
        <div id="lesson_1" style="display:none; text-align:center;">
...
Всё нормально, и всё отлично работает.

Но если я делаю вот так:
PHP код:
if(file_exists('./pages/'$GET['id'] .'.tpl')) {
       
$page_content file_get_contents('./pages/'$GET['id'] .'.tpl'); } else {$page_content="Запрашиваемая страница не найдена!";} 
Потом вывожу в шаблоне содержимое переменной $page_content
Смотрю в браузере исходный код, а там:

Код HTML:
<input type="button"  value="Смотреть"  onclick="show_hide(''lesson_1'');"/> 
        <div id="lesson_1" style="display:none; text-align:center;">
параметр функции show_hide заключён в двойные апострофы. Откуда взялись ещё вторые? Ни чего не понимаю .
Ну и соответственно ни фига ни чего ни работает.

Ну вот как то так...
Varabei вне форума Ответить с цитированием
Старый 13.08.2011, 14:44   #4
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Интересно,... а чем вызвана нужда использовать file_get_contents ?
Почему не сделать

PHP код:
if(file_exists('./pages/'$GET['id'] .'.tpl'))
{
 include 
'./pages/'$GET['id'] .'.tpl';
}
else {
$page_content="Запрашиваемая страница не найдена!";}
или
else {echo "Запрашиваемая страница не найдена!";} 
Только именно в том месте где это реально нужно вставить.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 13.08.2011, 14:47   #5
Varabei
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 15
По умолчанию

Короче в итоге сделал так:
PHP код:
if(file_exists('./pages/'$GET['id'] .'.tpl')) {
       
$page_content './pages/'$GET['id'] .'.tpl';  } else {$page_content="Запрашиваемая страница не найдена!";} 
а в шаблоне вывожу так:
Код HTML:
<div style="float:left;padding:0px; width:70%; background:#FFFFFF">
            <?php
			  include $page_content;
			  ?> 
		</div>
Ну и тогда нет ни каких двойных апострофах, все ява скрипты работают нормально.

Но все ровно хотелось бы узнать, почему когда я присваивал содержимое файла переменной с последующим выводом её в шаблон, появлялись эти двойные апострофы.
Varabei вне форума Ответить с цитированием
Старый 13.08.2011, 14:49   #6
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

http://www.php.su/functions/?file-get-contents
инфа по функции
Вообще в php кавычка и апостроф выполняют довольно разные функции, причиной может быть не корректность обработки.
Я в таком случае меняю принцип работы скрипта.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть отобразить строку в таблице Dmitry1983 PHP 9 07.08.2011 12:31
Скрыть, отобразить листы, нажатием F3 valerij Microsoft Office Excel 4 04.08.2011 09:40
TListBox и TCheckListBox: Отобразить только Names, скрыть от пользователя Values polly5315 Общие вопросы Delphi 3 24.05.2010 14:53
Скрыть-Отобразить с помощью VBA ZORRO2005 Microsoft Office Excel 5 01.09.2008 09:11
Помогите скрыть элемент таблицы в java Romanbl4 Общие вопросы по Java, Java SE, Kotlin 0 24.07.2007 18:14