Есть такая необходимость передать переменную в textarea
по нажатию кнопки.
Вводные данные:
<script>
var insta = "<?php echo $instapost; ?>";
function addinsta() {
document.getElementById("txtpost").innerHTML = insta;
}
</script>
Переменная insta
успешно получает многострочный текст из php-переменной $instapost
.Далее необходимо, по нажатию button
заполнить <textarea>
полученной переменной.
Собственно, что имеем:
<button id="instabutton" onclick="addinsta()">Generate Post</button><br />
<textarea id="txtpost" name="txtpost"></textarea>
Как только не пробовал: document.getElementById("txtpost").value = insta
- тоже не работает.
Что я делаю не так?
Хорошим простым решением будет сделать так:
<script>
var insta = <?php echo json_encode($instapost); ?>;
function addinsta() {
document.getElementById("txtpost").value = insta;
}
</script>
Кстати, слеш экранируется, так что проблемы со </script>
в строке не возникнет.
Вставьте "\" в конце каждой строки:
var insta = "Какое то имя\n\
Модель открытой базы данных украинских детей-моделей 'Kids Models'\n\
лет. , Украина\n\
\n\
\n\
Опыт работы: года\n\
\n\
\n\
Награды: \n\
\n\
Анкету модели, а так же полный каталог моделей можно найти на портале Kids Models. Ссылка в профиле.\n\
\n\
#kmdb, #kidsmodels, #kidsmodelsua, #backstage, #model, #topmodel, #photomodel, #kidmodel, #fashion, #fashionkids, #casting, #tfp, #кастинг, #модель, #детимодели, #мальчикимодели, #детскаямода, #фотосессия";
function addinsta() {
document.getElementById("txtpost").innerHTML = insta;
}
<button type="button" id="instabutton" style="width: 270px;" onclick="addinsta()">Generate Instagram Post</button><br />
<div id="extra">
<textarea id="txtpost" name="txtpost"></textarea>
</div>
Проблема решилась следующей конструкцией:
<script>
var insta = `<?php echo $instapost; ?>`;
function addinsta() {
document.getElementById("txtpost").innerHTML = insta;
};
</script>
Что бы не расставлять "\" в конце каждой строки - php-переменную обрамил в обратные кавычки ``, согласно стандарту ES-2015 (в них разрешен перевод строк). Все заработало!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне нужно выводить модальное окно в определенный диапазон времени, например с 8:00 до 00:00
Как при экспорте excel файла в DataTables можно изменить высоту всего ряда в файле?