javascript - 如何在innerHTML中调用函数和访问
问题描述
我想在更新页面显示存储在数据库中的数据。我的问题是我想访问 innerHTML 标签来显示图像和任何其他数据,如
document.getElementById(visibilities).checked = true;
或者
for (i=0; i<files.length; i++) {
var image = new Image();
image.src = files[i];
image.height = 100;
display.appendChild(image);
}
顺便说一句,我不知道如何在 innerHTML 中使用 onload 访问标签或调用函数。请告诉我。提前致谢。
function getData(id) {
var path = '/project/update/' + id;
restfull.get({
path: path
}, function(err, data) {
if(err) return;
var title = data.title;
var descriptions = data.descriptions;
var visibilities = data.visibilities;
var files = data.image;
const modal = new window.Modal({
modalContainerId: 'updateModal'
, modalTitleText: `Update Your Project`
, modalContentsInnerHTML: ` <form method="put" id="updateform" enctype="multipart/form-data" onload='getData()'>
<input type="radio" name="visibilities" value="public" id="public">Public
<input type="radio" name="visibilities" value="private" id="private">Private
<input type="radio" name="visibilities" value="unlisted" id="Unlisted">Unlisted <br>
<label for="title">Project Title</label>
<input type="text" name="title" id="title" required value="${title}"><br>
<label for="descriptions">Description</label>
<input type="text" name="descriptions" id="descriptions" required value="${descriptions}"><br>
<label for="multi_image">Images/ Videos
<input type="file" id="multi_image" name="multi_image" multiple onchange='previewImages()'><br>
<div id="display"></div>
<div id="projectpreview"></div>
</form>`
, modalSubmitBtnText: 'Update'
, modalSubmitBtnAction: function(){updatesubmit(data._id)}
, modalCancelBtnText: 'Cancel'
, modalCancelBtnAction: function() {
modal.destroy();
}
})
modal.show();
})
}
解决方案
如果要预览上传的图像以进行更新:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]); // convert to base64 string
}
}
$("#imgInput").change(function() {
readURL(this);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form runat="server">
<input type='file' id="imgInput" />
<img id="preview" src="#" alt="your image" />
</form>
如果要显示数据库中已存储的图像:
var image = document.getElementById('preview');
image.src="data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4MLwWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw==";
image.width=100;
image.height=100;
image.alt="here should be some image";
<img id="preview">
推荐阅读
- powershell - 使用 powershell 检索用户配置文件的大小
- javascript - 创建一个过滤掉重复的内存对象的 JavaScript 函数?
- python - Selenium - 使用 chromedriver 通过导航栏运行 javascript
- iis - 未针对 IIS 网站绑定 Google Cloud 列出外部 IP 地址
- azure - 如何从 Azure 上运行的 Web 应用连接到远程 API
- tomcat - 如何在 Tomcat 控制台日志中记录 sessionId?
- android - 从带有附加功能的命令行终端启动快捷方式?
- html - 将基本身份验证与 Web 应用程序和 CDN 结合使用的最简化方式
- javascript - 如何将焦点设置在 onRowClicked 行中的第一个可编辑单元格上?
- java - 使用 Java 中的构造函数初始化二维数组