用js制作一个报销单页面,可输入数字、文字、文本区域。增加添加附件行,可以添加多个附件,附件可以是文件及图片。不允许上传重复值。给出示例代码
时间: 2024-05-01 09:18:49 浏览: 130
ssm框架----------实现一个报销单管理系统
5星 · 资源好评率100%
以下是一个简单的报销单页面的示例代码,使用了HTML、CSS和JavaScript:
HTML代码:
```
<!DOCTYPE html>
<html>
<head>
<title>报销单</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<h1>报销单</h1>
<form>
<label>报销金额:</label>
<input type="number" name="amount"><br>
<label>报销事由:</label>
<input type="text" name="reason"><br>
<label>详细说明:</label>
<textarea name="details"></textarea><br>
<div id="attachments">
<label>附件:</label>
<input type="file" name="attachment" onchange="addAttachment(this)"><br>
</div>
<input type="submit" value="提交">
</form>
<script src="script.js"></script>
</body>
</html>
```
CSS代码:
```
h1 {
text-align: center;
}
label {
display: inline-block;
width: 100px;
}
textarea {
width: 300px;
height: 100px;
}
#attachments input {
display: block;
}
#attachments img {
max-width: 200px;
}
```
JavaScript代码:
```
var attachments = [];
function addAttachment(input) {
var file = input.files[0];
if (attachments.indexOf(file) < 0) {
attachments.push(file);
if (file.type.startsWith("image/")) {
var reader = new FileReader();
reader.onload = function(event) {
var img = document.createElement("img");
img.src = event.target.result;
document.getElementById("attachments").appendChild(img);
};
reader.readAsDataURL(file);
} else {
var name = document.createElement("span");
name.innerText = file.name;
document.getElementById("attachments").appendChild(name);
}
} else {
alert("该文件已添加!");
}
}
```
该页面包括一个表单,可以输入报销金额、报销事由和详细说明。还有一个附件区域,可以添加多个附件,包括文件和图片。JavaScript代码用于检查附件是否重复,并在添加图片时预览图片。
阅读全文