Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2011, 08:57
Аспирант
Отправить личное сообщение для wfire Посмотреть профиль Найти все сообщения от wfire
 
Регистрация: 15.05.2011
Сообщений: 36

Как выполнить код javascript при инклюде странички на php
Есть сайт на php - главная страница index.php (каркас), и в него при выборе из меню инклюдятся другие блоки в файлах php. В одном из блоков есть функция на javascript, привязанная к элементу формы select:
<select size="1" name="_type" id="selectors" onchange="set_select(this.value)">

Суть в том, что при выборе различных значений из этого списка активируются/деактивируются другие элементы формы.
Это работает, но надо сделать так, чтобы при загрузке формы также срабатывала функция set_select, чтобы состояние элементов формы выставилось в зависимости от начального значения элемента select (оно берется из базы и может быть различным). Иначе говоря, нужно эмулировать событие onChange элемента select при начальной загрузке.
Пробовал так:
$(document).ready(function() {
$('#selectors').onchange(); 
});
- не работает...
И еще - не понятно, куда вставлять этот код. В заголовок index.php нельзя, ведь страничка с формой может и не существовать. В саму форму? До или после функции set_select?
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2011, 13:15
Аспирант
Отправить личное сообщение для kostr Посмотреть профиль Найти все сообщения от kostr
 
Регистрация: 12.09.2010
Сообщений: 98

Попробуйте вставить просто
set_select(<?php echo ваше значение; ?>)

на страничке с формой, после функции set_select
Ответить с цитированием
  #3 (permalink)  
Старый 27.05.2011, 14:00
Аспирант
Отправить личное сообщение для wfire Посмотреть профиль Найти все сообщения от wfire
 
Регистрация: 15.05.2011
Сообщений: 36

<script type="text/javascript">
function set_select(value)
{
	if ((value == '3') ....
}
set_select(<?php echo $row['type']; ?>)
</script>

Не работает
Ответить с цитированием
  #4 (permalink)  
Старый 27.05.2011, 14:05
Аспирант
Отправить личное сообщение для kostr Посмотреть профиль Найти все сообщения от kostr
 
Регистрация: 12.09.2010
Сообщений: 98

<script type="text/javascript">
function set_select(value)
{
 if (value == '3') 
  alert(3);
}
set_select(<?php echo 3; ?>)
</script>


у меня работает
Ответить с цитированием
  #5 (permalink)  
Старый 27.05.2011, 14:15
Аспирант
Отправить личное сообщение для wfire Посмотреть профиль Найти все сообщения от wfire
 
Регистрация: 15.05.2011
Сообщений: 36

а у меня нет, ни так: set_select(<?php echo 3; ?>), ни так: set_select('3'), ни так: set_select(3)
Ответить с цитированием
  #6 (permalink)  
Старый 27.05.2011, 14:16
Аспирант
Отправить личное сообщение для kostr Посмотреть профиль Найти все сообщения от kostr
 
Регистрация: 12.09.2010
Сообщений: 98

Выложите свою функцию set_select.
Ответить с цитированием
  #7 (permalink)  
Старый 27.05.2011, 14:26
Аспирант
Отправить личное сообщение для wfire Посмотреть профиль Найти все сообщения от wfire
 
Регистрация: 15.05.2011
Сообщений: 36

<script type="text/javascript">
function set_select(value)
{ 
alert(<?php echo $row['type']; ?>);
	if ((value == '3') || (value == '2') || (value == '1')) 
	{ 
		document.getElementById('el').setAttribute('disabled','disabled');
		document.getElementById('tpl').setAttribute('disabled','disabled');
		document.getElementById('cw').setAttribute('disabled','disabled');
		document.getElementById('hw').setAttribute('disabled','disabled');
		document.getElementById('gas').setAttribute('disabled','disabled');
		document.getElementById('zbo').setAttribute('disabled','disabled');
	}
	else
	{
		document.getElementById('el').removeAttribute('disabled');
		document.getElementById('tpl').removeAttribute('disabled');
		document.getElementById('cw').removeAttribute('disabled');
		document.getElementById('hw').removeAttribute('disabled');
		document.getElementById('gas').removeAttribute('disabled');
		document.getElementById('zbo').removeAttribute('disabled');
	}
	if ((value == '0') || (value == '1') || (value == '2')) { 
		document.editForm.check_el.disabled = true;
		document.editForm.check_tpl.disabled = true;
		document.editForm.check_cw.disabled = true;
		document.editForm.check_hw.disabled = true;
		document.editForm.check_gas.disabled = true;
		document.editForm.check_zbo.disabled = true;
	} else {
		document.editForm.check_el.disabled = false;
		document.editForm.check_tpl.disabled = false;
		document.editForm.check_cw.disabled = false;
		document.editForm.check_hw.disabled = false;
		document.editForm.check_gas.disabled = false;
		document.editForm.check_zbo.disabled = false;
	}
}
set_select(<?php echo $row['type']; ?>)
</script>

как показывает 4-я строка (выпадает окошко) - функция срабатывает при загрузке странички, но элементы на форме не меняют статус. А если в самом списке выбирать, к которому ф-ция привязана, тогда все ок
Пробовал убирать кавычки вокруг цифр (строки 5 и 23) - ничего не изменилось

Последний раз редактировалось wfire, 27.05.2011 в 14:37.
Ответить с цитированием
  #8 (permalink)  
Старый 27.05.2011, 14:43
Аспирант
Отправить личное сообщение для wfire Посмотреть профиль Найти все сообщения от wfire
 
Регистрация: 15.05.2011
Сообщений: 36

Я башкой немного подумал, и переместил вызов функции в самый конец страницы. И оно заработало
kostr, большое спасибо за помощь, решение
set_select(<?php echo $row['type']; ?>)
действительно очень простое и рабочее.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить элемент в XML через DOM используя PHP? bayah Серверные языки и технологии 6 11.08.2010 13:33
как выполнить действие в зависимости от результата php FRIE jQuery 5 04.08.2010 08:44
javascript и php (Вопрос) Гауляйтер Общие вопросы Javascript 3 06.05.2009 09:23
Обратная связь ПРИ ПОМОЩИ JavaScript qwertypop Элементы интерфейса 2 23.04.2009 18:30
Выполнить код после загрузки изображения EugenyK Events/DOM/Window 2 15.07.2008 10:09