Инструменты пользователя

Инструменты сайта


smartscript:hide_answers

Динамическое отображение ответов в SmartScript

Если в Siebel SmartScript вам необходимо динамически отображать поля в зависимости от выбранного значения тогда эта статья для вас. :)

К сожалению стандартными средствами реализовать такой функционал у вас не получится поэтому вам придется извратится.

Создаем вопросы:

1. Основной номер

  1. Мобільний номер клієнта
  2. Інший номер
  3. Не надсилаты

2. Основной номер (Не доступен для редактирования по умолчанию телефон клиента) 3. Інший номер (доступен для редактирования по умолчанию «+380») 4. Не надсилаты (Не доступен для редактирования)

5. Додатковий номер

  1. Інший номер
  2. Не надсилаты

6. Інший номер (доступен для редактирования по умолчанию «+380») 7. Не надсилаты (Не доступен для редактирования)

Добавляем следующий javascript в перевод последнего вопроса.

<img src="images\spaceddr.gif" width="0" onerror="upd();
function upd(){
	if(document.getElementById('s_1_1_7_0').value=='Мобільний номер клієнта'){
		document.getElementById('s_1_1_8_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='block';
		document.getElementById('s_1_1_9_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
		document.getElementById('s_1_1_10_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
	}else if(document.getElementById('s_1_1_7_0').value=='Інший номер'){
		document.getElementById('s_1_1_8_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
		document.getElementById('s_1_1_9_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='block';
		document.getElementById('s_1_1_10_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
	}else {
		document.getElementById('s_1_1_8_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
		document.getElementById('s_1_1_9_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
		document.getElementById('s_1_1_10_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='block';
	}
	if(document.getElementById('s_1_1_11_0').value=='Інший номер'){
		document.getElementById('s_1_1_12_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='block';
		document.getElementById('s_1_1_13_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
	}else {
		document.getElementById('s_1_1_12_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
		document.getElementById('s_1_1_13_0_d').parentNode.parentNode.parentNode.parentNode.parentNode.style.display='block';
	}	
	setTimeout(upd,100);
}
"/>

В результате мы получаем функцию upd() которая запускается каждые 100 мс1)) результат функции постоянно проверяет значение ответа в поле и деактивирует отображение определенного вопроса.

wiki_admin 2015/02/20 10:27

1)
setTimeout(upd,100
smartscript/hide_answers.txt · Последние изменения: 2016/11/04 14:05 (внешнее изменение)