Javascript копия и символ из div для ввода неисправности

0

Я не могу найти ответ на этот вопрос...

Проблема. Javascript копирует текст из DIV на вход (текстовое поле), не копирует & as & и копирует его как & , См. Пример кода плюс.

У меня есть следующий код (на разных страницах, просто чтобы упростить все, что я здесь):

INPUT, где я хочу, чтобы текст был скопирован.

<input name="artist" id="txtArtist" type="text" placeholder="Introduce the artist" />

DIV, где текст скопирован. Эти данные заполняются из базы данных SQL.

<div id="art0"><div onclick="copyText(0)">Mumford & Sons</div></div>'

Функция, которая не работает...

function copyText(rowID){
    var content = document.getElementById('art'+rowID).innerHTML.replace(/<\/?[^>]+(>|$)/g, "\n");
    document.getElementById("txtArtist").value = document.getElementById('art'+rowID).innerHTML;
    document.getElementById("txtArtist").value = content;
}

ОЖИДАЕМЫЙ результат внутри текстового поля: Mumford & Sons

Результат ACTUAL внутри текстового поля: Mumford &amp; Sons Mumford &amp; Sons

Любая помощь, пожалуйста?

Спасибо вам всем!!

  • 0
    Просто скопируйте textContent вместо innerHTML .
  • 0
    Знаете ли Вы посмотреть источник , чтобы увидеть , что «Mumford & Sons», на самом деле «Mumford & Sons» вместо «Mumford & Amp; Sons» , потому что & экранируются во многих случаях процедуры дезинфицировать.
Показать ещё 3 комментария
Теги:

1 ответ

3
Лучший ответ

Используйте .textContent вместо .innerHTML:

var content = document.getElementById('art'+rowID).textContent;

http://jsfiddle.net/4Tr5T/1/

Обратите внимание, что .textContent не поддерживается IE 8 и ниже, поэтому, если вы так неудачны, .innerText вместо этого использовать .innerText.

var prop = 'textContent' in document.body ? 'textContent' : 'innerText',
    content = document.getElementById('art'+rowID)[prop];

http://jsfiddle.net/4Tr5T/2/

  • 1
    textContent !!
  • 0
    используйте вместо этого .textContent для FF.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню