Не добавляется текст в textarea с помощью append

649
24 июня 2017, 10:20

Реализую добавление картинки в новость и смысл таков: при добавлении картинки на сервер - записывается сразу значение в текстовое поле, чтобы она в будущем вызвалась.
Код добавления: $('textarea[name=full_text]').append('&ltbr&gt&ltbr&gt<img src="/files/img/'+filename+'" alt="'+filename+'">');
Код, который должен получиться: какой-то текст + ⟨br⟩⟨br⟩⟨img src="/files/img/'+filename+'" alt="'+filename+'"⟩.
Код не добавляется, а просто заменяет весь текст, при том, что в коде это выглядит так, а в реальности, как видно в самой форме, сидит лишь текст, который был записан ранее, также он только и добавляется в базу.
Собственно, весь код:

<?php 
    if (!session_id()) 
        session_start(); 
    require_once('../functions/functions.php'); 
    if (isset($_POST['submit'])) { 
        $title = $_POST['title']; 
        $intro_text = $_POST['intro_text']; 
        $full_text = $_POST['full_text']; 
        $img_url = $_POST['img_url']; 
        $result = addArticlesAdm($title, $intro_text, $full_text, $img_url); 
         
         
         
        if ($result) { 
            echo '<script>alert("Новость успешно добавлена!")</script>'; 
            exit("<meta http-equiv='refresh' content='0; url= /admin'>"); 
        } 
        else 
            echo '<script>alert("Ошибка добавления новости.")</script>'; 
    } 
?> 
<!DOCTYPE html> 
<html> 
<head> 
    <title>ДС "Зоренька"</title> 
    <meta charset = "utf-8" /> 
    <meta name = "keywords" content = "Оцифиальный, сайт, МБДОУ, ДС, Зоренька, dszorenka, zorenka" /> 
    <meta name = "description" content = "Официальный сайт МБДОУ ДС Зоренька." /> 
    <meta name = "viewport" content = "width=device-width, initial-scale=1" /> 
    <link href = "/img/icons/logo.ico" rel = "shortcut icon" type = "image/x-icon" /> 
    <link href = "../css/style.css" rel = "stylesheet" /> 
    <script src="../js/jquery-3.1.1.min.js"></script> 
    <script src="../js/jquery.nav.js"></script> 
    <script src="../js/ajaxupload.3.5.js"></script> 
    <script type="text/javascript"> 
        function loadImage(btnUpload, status, fun) { 
            new AjaxUpload(btnUpload, { 
                action: './uploads_file.php', 
                name: 'uploadfile', 
                onSubmit: function(file, ext){ 
                     if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){  
                        // extension is not allowed  
                        status.text('Поддерживаемые форматы JPG, PNG или GIF'); 
                        return false; 
                    } 
                    status.text('Загрузка...'); 
                }, 
                onComplete: function(file, response){ 
                    //On completion clear the status 
                    status.text(''); 
                    //Add uploaded file to list 
                    if(response==="success") { 
                        alert("Картинка загружена."); 
//                        $('<li></li>').appendTo('#files').html('<img src="../files/img/'+file+'" alt="" /><br />'+file).addClass('success'); 
                    } else { 
                        alert("Ошибка загрузки картинки."); 
//                        $('<li></li>').appendTo('#files').text('Файл не загружен' + file).addClass('error'); 
                    } 
                    fun(file); 
                } 
            }); 
        } 
         
        $(function(){ 
            $('#load_additional_image').click(function() { 
                loadImage($('#load_additional_image'), $('.status'), function(filename) { 
                    $('textarea[name=full_text]').append('&ltbr&gt&ltbr&gt&lt;img src="/files/img/'+filename+'" alt="'+filename+'"&gt;'); 
                }); 
            }); 
            $('#upload').click(function() { 
                loadImage($('#upload'), $('.status'), function(filename) { 
                    $('input[name=img_url]').val(filename); 
                }); 
            }); 
        }); 
    </script> 
</head> 
<body> 
	<div class = "container"> 
		<!-- ------------Хидер------------- --> 
		<?php 
			require_once('../blocks/header.php'); 
		?> 
        <center><h1 class="h1All"><a href="/admin/index.php">Панель администратора</a></h1></center> 
		<p class="txtPAll"><br> 
		    <form method="POST" class = "formAddAdmin"> 
		        <label class = "lableFormAdd" for="title"> 
                    Заголовок<br> 
                    <input type="text" name="title" class = "inputFormAdd" autofocus required> 
		        </label><br> 
		        <label class = "lableFormAdd" for="intro_text"> 
                   Вступительный текст<br> 
                   <input type="text" name="intro_text" class = "inputFormAdd" required> 
                </label><br> 
                <label class = "lableFormAdd" for="full_text"> 
                    Текст<br> 
                    <textarea name="full_text" class = "textareaFormAdd" required></textarea> 
                </label><br> 
                <div id="upload" class="loadImgBtn"> 
                    <span>Выбрать файл для основной картинки</span> 
                </div> 
                <div id="load_additional_image" class="loadImgBtn"> 
                    <span>Выбрать файл для доп. картинки</span> 
                </div> 
                <input type="hidden" name="img_url"> 
		        <!--<ul id="files" ></ul>--> 
                <input type="submit" name = "submit" value="Сохранить" class = "btnFormAdd"> 
                <span class="status"></span> 
		    </form> 
		</p> 
	</div><!-- .container --> 
			<div class = "clear"></div> 
		</main><!-- .content --> 
		<!-- ------------Футер------------- --> 
		<?php 
			require_once('../blocks/footer.php'); 
		?> 
</body> 
</html>

Весь прикол еще в том, что все работало, потом добавил перед вызовом картинки "\n" для переноса каретки на новую строку и все перестало работать. Как видите, ее нету, но все равно не работает ничего. Однако, до того, как перестало работать я менял еще много что, возможно, даже скорее всего, накосячил, но этого не вижу...

Answer 1

Так он так и не добавится, используйте

var text = $('textarea').val();
$('textarea').val(text + 'текст');
READ ALSO
Резиновая галерея

Резиновая галерея

Имеется резиновая галереяИ пока фотографии одинаковой высоты, всё выглядит нормально, но как только какая-то фотка больше или меньше, естественно,...

482
Как правильно сверстать flexbox?

Как правильно сверстать flexbox?

Никак не получается выровнятьlogo по центру, при этом чтобы два элемента меню

441
C# SSL соединение xNet, WebRequest

C# SSL соединение xNet, WebRequest

Доброго времени суток, помогите решить проблему : при попытке сделать запрос на сайт sscasinoonline дает ошибку xNet

1589
Обновить значение вычисляемого поля

Обновить значение вычисляемого поля

Как можно обновить через код значение вычисляемого поля в проекте? При открытии в project'e в толстом клиенте - поле обновляется само и сохраняется...

268