记录新碰到需求,用于商品图文显示
输入内容显示需要使用textarea标签,原生input不支持换行,textarea记得加属性wrap="hard"这里有详细说明
然后是js,直接贴代码var arr=inp.value.replace(/\r/g,'').split('\n');
这样arr获取到的是一个数组
然后使用循环在页面显示
for(var i in arr) {
ppp.innerHTML += arr[i] + '<br />'
}
显示效果:
读取文件并显示直接贴代码:
let file = files[0];
let reader = new FileReader();
reader.onload = function(){
var array=this.result.replace(/\r/g,'').split('\n');
for(var l in array) {
pp.innerHTML += array[l] + '<br />'
}
};
reader.readAsText(file, "gb2312");
注意!要加reader.readAsText(file, "gb2312")
防止中文乱码,其他类型的文件也有对应的编码
下面贴全部代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div>
<textarea rows="3" cols="20" id="inp" wrap="hard"></textarea>
<button onclick="an(this)">按一下</button>
<p id="ppp"></p>
</div>
<div>
<input type="file" id="file" onchange="handleFiles(this.files)">
<p id="pp"></p>
</div>
<script>
var inp=document.getElementById("inp");
var ppp=document.getElementById("ppp");
var objFile = document.getElementById("file");
var pp = document.getElementById("pp");
var s = ''
function an() {
var arr=inp.value.replace(/\r/g,'').split('\n');
for(var i in arr) {
ppp.innerHTML += arr[i] + '<br />'
}
}
function handleFiles(files) {
if(files.length){
let file = files[0];
let reader = new FileReader();
console.log(file)
reader.onload = function(){
// pp.innerHTML = this.result;
var array=this.result.replace(/\r/g,'').split('\n');
for(var l in array) {
pp.innerHTML += array[l] + '<br />'
}
};
reader.readAsText(file, "gb2312");
// reader.readAsText(file, "utf-8");
}
}
</script>
</body>
</html>