|
|
|
| Добрый день
столкнулась с такой проблемой, при разметке документа XHTML, которая требует чтобы значения атрибутов были заключены в кавычки, не работает вот такая конструкция:
<script type='text/javascript'>
//<![CDATA[
setfocus('form1', 'about');
function tagg(text1, text2)
{
if ((document.selection))
{
document.form1.about.focus();
document.form1.document.selection.createRange().text = text1+document.form1.document.selection.createRange().text+text2;
}
else document.form1.about.value += text1+text2;
}
//]]>
</script>
<form name='form1' action='index.php' method='post'>
<?php
echo "<a href='#' onclick=\"javascript:tagg('[ b ]', '[ /b ]'); return false;\">Жирным</a>";
?>
<textarea name='about' cols='20' rows='5'></textarea>
<input type='submit' value='Написать' />
</form>
|
Не выполняется вставка BBcode | |
|
|
|
|
|
|
|
для: selma
(23.11.2012 в 02:39)
| | 1) протокол javascript: используся только и исключительно в атрибуте href тега <A>
2) XHTML требует "особливого" написания только и исключительно в исходном коде
например, тег <br> в исходном коде следует писать как <br />, но JS-скриптом вполне можно добавить этот тег безо всякого закрывающего слеша:
-- либо object.innerHTML += '<br>';
-- либо object.appendChild (document.createElement ('br'))
аналогично <option selected="selected" disabled="disabled"> и <input readonly="readonly" /> в исходном коде,
но object1.selected = 1; object1.disabled = true; object2.readonly = (2 > 1); в JS-скрипте
3) никакой из стандартов не требует наличия финальной точки с запятой ни для JS-конструкций внутри атрибутов тега, ни для правил CSS внутри атрибутов тега
так что ваша точка с запятой после return false - лишние и бесполезные 4 байта
-------
ну и, напоследок - решение вашей проблемы:
4) XHTML требует использовать в исходном коде одинаковые кавычки для всех атрибутов для одного тега
а у вас для href ссылки - одинарные кавычки,
а для onclick этой же ссылки - почему-то двойные
исправьте - без ненужных протокола и точки с запятой, но с одинаковыми кавычками
например, так:
echo "<a href=\"#\" onclick=\"tagg ('[ b ]', '[ /b ]'); return false\">Жирным</a>";
|
ps: как я понимаю, строки, передаваемые функции tagg () в реале у вас без никому ненужных пробелов?
а здесь вы пробелы сделали лишь для того, чтобы текст можно было увидеть...
так?
или я ошибаюсь и ваш PHP-скрипт реально разбирает [пробелbпробел] и вы не только напрасно прописываете всякий раз по 16 байт, но и эти же ненужные 16 байт перегоняете на сервер при сабмите формы? :))) | |
|
|
|
|
|
|
|
для: ЯСА
(23.11.2012 в 03:25)
| | пробелы поставила чтобы softtime их показал :) иначе он их интерпритирует как BBcode
1) протокол javascript: используся только и исключительно в атрибуте href тега <A>
У меня вроде он и только и исключительно в <A>
Взяла сам java script вставки BB - кода, с softtime форума, заработало:) | |
|
|
|
|
|
|
|
для: selma
(23.11.2012 в 04:51)
| | повторяю: протокол javascript: используЕТся только и исключительно в атрибуте href тега <A>
>"Взяла сам java script вставки BB - кода, с softtime форума, заработало"
здесь, а потом здесь мы с товарищами (когда я ещё был PAT'ом) эту функцию немного дорабатывали | |
|
|
|