Не отображается текст с пробелами .textContent

213
14 апреля 2017, 19:56

Из таблицы MySQL получены три значения:

  1. Имя: Николай
  2. Имя: Дмитрий
  3. Имя: С тепан

Когда я кликаю на первый и второй пункты - значения прекрасно выводятся в таблицу(которая находится в нижней части сайта). Если же нажать на третий пункт - клик игнорируется. Когда я убрал пробел в третьем пункте - он тоже стал выводиться в таблицу по клику.

HTML:
<p id="name">Пусто</p>

PHP:
echo '<div onclick=nFull("' . $row['name'] . '")></div>';

JavaScript:

<script type="text/javascript">
    function nFull(name) {
        document.getElementById('name').textContent = name;
    }
</script>

Как это исправить?

Answer 1

Дело в том, что Вы рисуете не правильный HTML. То есть, если поглядеть, что получается у Вас, то получаем:

<div onclick=nFull('С тепан')></div>

где мы видим, что у Вас в функцию nFull передается строка 'С тепан', в которой содержится пробел. Вроде бы все хорошо, но Вы забыли еще одни кавычки:

    function nFull(name) { 
        document.getElementById('name').textContent = name; 
    }
<p id="name">Пусто</p> 
 
<div onclick="nFull('Николай')">Николай</div> 
<div onclick="nFull('Дмитрий')">Дмитрий</div> 
<div onclick="nFull('С тепан')">С тепан</div>

Функцию nFull оберните в кавычки и все заработает. Вот так:

echo '<div onclick="nFull(\'' . $row['name'] . '\')"></div>';
READ ALSO
Изменении цвета svg img , без js

Изменении цвета svg img , без js

Можно ли изменить цвет svg

260
Взять цену с сайта

Взять цену с сайта

Прошу подсказать как взять цену с сайта к примеру http://wwwtinko

166
Автоматический меняет код ckeditor?

Автоматический меняет код ckeditor?

Всем приветПользуюсь редактором ckeditor

202
Как в медиазапросе отличить монитор с низким разрешением от смартфона?

Как в медиазапросе отличить монитор с низким разрешением от смартфона?

Подключаю с помощью тега link разные файлы css в зависимости от разрешения, используя медиа-запросы:

193