将img标记添加到文本区域以输入到文本文件中

时间:2018-05-25 11:41:50

标签: javascript jquery html

我正在尝试创建一个将img标记输入文本区域的按钮,这样我就可以手动输入图像src,然后在提交表单后,图像标记将保存到文本文档中。

我设置它以便一切正常,但是,当单击按钮添加img标签时,它会在textarea标签之间的页面上添加一个html元素。我想要一个"<img src='' alt='' title=''>"的字符串显示在文本区域内。

我如何使用jquery执行此操作?

当前代码(尝试修复错误时的一些冗余变量等):

#img-insert-button是有问题的按钮,仅供参考。

 <body style="background-color:#131313; color: white; font-family: 'Gadugi'; padding: 10px;">
    <script>
        var str1 = "<";
        var str2 = "img src='images/Computer.jpeg' alt='pc image' title=''";
        var str3 = ">";
        var str4 = str1.concat(str2);
        var img_tag = str4.concat(str3);
        $(document).ready(function(){
          $("#img-insert-button").click(function(){
              $('#article-main-body').append(img_tag);
          });
        });
    </script>

    <a class="home-link" href="index.php">Go Home</a>
    <div class="heading">Write a Post</div>
    <button id="img-insert-button">Insert Image</button>
    <form method="post" action="create-article.php" enctype='multipart/form-data'>
        <table style="width: 100%;">
            <tr>
                <td>
                    <label>Post Image</label>
                </td>
                <td>
                    <input type="file" name="image" required="" placeholder="Article Image" oninvalid="this.setCustomValidity('Please upload an article image')">
                </td>
            </tr>
            <tr>
                <td>
                    <label>Title</label>
                </td>
                <td>
                    <input name="post-title" type="text" maxlength="50">
                </td>
            </tr>
            <tr>
                <td>
                    <label>Sub-heading</label>
                </td>
                <td>
                    <input type="text" name="post-subheading" maxlength="130">
                </td>
            </tr>
            <tr>
                <td>
                    <label>Main Body</label>
                </td>
                <td>
                    <textarea name="post-main-body" style="height: 300px; width: 100%;" id="article-main-body"></textarea>
                </td>
            </tr>
        </table>
        <button type="submit" name="submit-button" style="margin: 5px;">Create Post</button>
    </form>
</body>

1 个答案:

答案 0 :(得分:2)

您无法附加到textarea,您需要更改它value

尝试更改

 $('#article-main-body').append(img_tag);

 $('#article-main-body').val(function(_, currVal){
    return currVal + img_tag;
 });