我正在尝试创建一个将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>
答案 0 :(得分:2)
您无法附加到textarea,您需要更改它value
尝试更改
$('#article-main-body').append(img_tag);
要
$('#article-main-body').val(function(_, currVal){
return currVal + img_tag;
});