Rich text получить значение csjs

23.02.2015
17
0
#1
Здравствуйте.
Есть на Xpage рт-поле

HTML:
<xp:inputRichText id="text" value="#{document1.text}"
dojoType="ibm.xsp.widget.layout.RichText">
</xp:inputRichText>
Хочется получить в CSJS значение, которое ввел в это поле пользователь.
Код вида
JavaScript:
var value = '';
var field=dojo.query('[id$="'+key+'"]').forEach (function (node, index) {
	if (node.value!=undefined){
		value = value + node.value;
	}
});
(в key лежит "text" естественно) возвращает пустое значение.
Пример отсюда
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
валится с ошибкой "CKEDITOR is not defined"
 
23.02.2015
17
0
#5
Коллеги говорят, что без типа не отображает рт поле, если открывать в мобильном устройстве.
 
23.02.2015
17
0
#7
Хотелось бы, так как проверка нужна до сохранения документа, сообщения о необходимости заполнения полей выводятся примерно таким образом сейчас (не мое, старшие товарищи писали):
JavaScript:
function checkValidation (fieldList) {
	try {
		var result = true;
		for (var key in fieldList) {
		var fieldMsg=dojo.query('[id$="'+key+'Message"]')[0];
 
		var value = '';
		var field=dojo.query('[id$="'+key+'"]').forEach (function (node, index) {
			if (node.value!=undefined){
				value = value + node.value;
			}
		});
 
		if ( value == ''){
			fieldMsg.className = "alert alert-danger";
			fieldMsg.innerHTML = "Необходимо заполнить поле '"+ fieldList[key]+"'!"
			fieldMsg.style.display = "";
			result = false;
		} else {
			fieldMsg.style.display = "none";
		}
	}
	return result;
	}catch (e){
		console.log (e);
	return false;
	}
}
 

romych2004

Well-Known Member
Lotus team
01.04.2013
110
19
#8
Используя dojo-type Вы используете dijit, т.е. работаете не с DOM, а с js объектом
Замените тело forEach на:
JavaScript:
var dj = dijit.byId(node.id);
if(dj) {
	value += dj.value;
} else {
	if (node.value!=undefined){
		value = value + node.value;
	}
}