JavaScript: addContent - Как упаковать - PullRequest
1 голос
/ 12 декабря 2008

При использовании образца для addContent (расположенного по адресу randomsnippets.com ) я натолкнулся на проблему, с которой, я надеюсь, кто-то может помочь. Возможно, это не лучший / единственный способ обшарить эту кошку, но у нас есть страница PHP / MySQL, которая должна быть изменена на ADD-строки для ввода данных при необходимости.

Их метод работает (пожалуйста, возьмите пик на их странице), но значение элемента FORM TEXTAREA имеет свои собственные элементы формы, включая TEXTAREA. Закрытие последнего тега TEXTAREA прерывает первое значение и выбрасывает оставшийся код на страницу, не ожидая вставки с помощью кнопки «Отправить». Пример результатов: Нажмите здесь

Кнопка Отправить успешно создает деталь, которая осталась внутри, но вы видите проблему.


- Есть ли способ использовать функцию addContent javascript,

- включить утилиту кнопки ADD

- Но не использовать упаковку ФОРМ?


Спасибо за любую помощь!

Bryan

p.s. PHP прозрачен. Прямое включение HTML, содержащегося в переменной, в качестве значения TEXTAREA дает тот же результат.

1 Ответ

1 голос
/ 12 декабря 2008

Я не совсем понимаю, чего вы здесь пытаетесь достичь, но это не имеет значения - очевидная проблема в том, что вы включаете неэкранированный HTML в textarea: текст textarea должен быть экранированным, как если бы вы экранировали текстовое содержимое в любом месте HTML-документа (преобразование < в &lt; > в &gt; & в &amp; и т. д.). Тот факт, что вы в конечном итоге передаете текст обратно через HTML-анализатор браузера, не имеет значения - если вы хотите, чтобы документ загружался правильно, его нужно экранировать:

Пример:

желаемое содержимое, например:

<tr>
   <td bgcolor="#F3F3F3" align="center" colspan="3"><hr size="1" color="#C0C0C0"></td>
</tr>

будет включен в текстовую область следующим образом:

<textarea>
&lt;tr&gt;
   &lt;td bgcolor="#F3F3F3" align="center" colspan="3"&gt;&lt;hr size="1" color="#C0C0C0"&gt;&lt;/td&gt;
&lt;/tr&gt;
</textarea>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...