bugfix> javascript > 投稿

imgタグをテキスト領域に入力するボタンを作成しようとしているので、画像srcを手動で入力でき、フォームを送信した後に画像タグがテキストドキュメントに保存されます。

ボタンがクリックされてimgタグが追加されると、html要素がページのtextareaタグの間に追加されることを除いて、すべてが機能するように設定しました。 "<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 件
  • テキストエリアに追加することはできません。変更する必要があります value

    変更してみてください

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

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

あなたの答え