Пишу онлайн редактор, не срабатывает функция: execCommand

velbox

Новичок
Я кое что сделал, но блин, есть непонятка. Вот код:
PHP:
<script language="javascript">	   
								   
		function textStrong(value){ return value.execCommand('bold', false, null); } // придаем жирность тексту
		function lCase(value){ return value.toLowerCase(); } // придаем нижний регистр словам
		
		// функция, которая работает с текстом
		function replaceSelectedText(el,cbFunc) {
			var obj = document.getElementById(el);
			obj.focus();
		 
		 	if (document.selection)  {
				var s = document.selection.createRange(); 
				if (s.text) {
			 		eval("s.text="+cbFunc+"(s.text);");
			 		s.select();
			 		return true;
		   		}
		 	}
		 
		 	else if (typeof(obj.selectionStart) == "number") {
		   		if (obj.selectionStart!=obj.selectionEnd) {
					var start = obj.selectionStart;
					var end = obj.selectionEnd;
		
					 eval("var rs = "+cbFunc+"(obj.value.substr(start,end-start));");
					 obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
					 obj.setSelectionRange(end,end);
		   		}
		   		return true;
		 	}
			
			return false;
		}
	</script>
PHP:
<a href="#" onclick="replaceSelectedText('text','textStrong');">Жирность</a> / <a href="#" onclick="replaceSelectedText('text','lCase');">Нижний регистр</a>
<textarea id="text" rows="5" cols="40" name="text">VDSKJVDSKB SDKBJSDGN</textarea>
Нижний регистр, работает отлично. Никаких проблем нет. А вот жирность, почему-то не придается.... Кто нибудь знает почему?
 

velbox

Новичок
vovanium я начал с того, что читал справочник .. Нифига не помогло ...

P.S. Кстати, пример с линком, там не работает.
 

vovanium

Новичок
Пример работает под IE. Основной прикол в том, что execCommand нужно передавать объект, а не его текстовое значение, и execCommand не возвращает тест, он возвращает только инфу типа выполнено или нет. Так что либо фиговый у тебя справочник, либо фигово ты читал... В общем выкинь свой справочник и юзай гугл, в сети полно примеров.
 
Сверху