我正在使用下面的代码将数据从剪贴板复制到我的表单中并提交。以前,这只限于浏览器上的图像,现在浏览器允许从文件到文本的所有内容。问题是当文本被复制时,它认为它是一个文件并想提交。
是否有办法消除所有类型的文本被粘贴?
const fileInput = document.getElementById("document_attachment_doc");
window.addEventListener('paste', e => {
fileInput.files = e.clipboardData.files;
document.getElementById("new_document_attachment").submit();
});发布于 2022-02-13 12:08:32
我发现表单提交是由于粘贴而触发的,即使没有文件和纯文本。解决办法是检查剪贴板中的文件计数是否超过0。如果剪贴板中有文本,则为0。
window.addEventListener('paste', e => {
if (e.clipboardData.files.length > 0){
fileInput.files = e.clipboardData.files;
document.getElementById("new_document_attachment").submit();
}
});https://stackoverflow.com/questions/71077699
复制相似问题