原生js手机端身份证上传表单提交代码
时间: 2023-09-12 22:01:26 浏览: 183
要实现在手机端上传身份证并提交表单的功能,可以使用原生 JavaScript编写以下代码:
HTML部分:
```
<form id="myForm" enctype="multipart/form-data">
<input type="file" accept="image/*" capture="camera" id="idcard" name="idcard" />
<button type="button" onclick="submitForm()">提交</button>
</form>
```
JavaScript部分:
```javascript
function submitForm() {
let formData = new FormData(); // 创建FormData对象
let fileInput = document.getElementById("idcard");
if (fileInput.files.length > 0) {
let file = fileInput.files[0];
formData.append("idcard", file); // 将文件添加到FormData对象中
}
// 发送表单数据
let xhr = new XMLHttpRequest();
xhr.open("POST", "submit_url", true);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
// 请求成功的处理代码
console.log(xhr.responseText);
}
};
xhr.send(formData); // 发送FormData对象
}
```
以上代码中,表单中的文件输入框为`<input type="file">`,通过`capture="camera"`属性可以直接调用手机相机进行拍照或选择相册中的图片。使用`accept="image/*"`限制只能选择图片文件。点击提交按钮时,会调用`submitForm`函数。
函数内部,首先创建一个`FormData`对象用于存储表单数据。然后,从文件输入框中获取选中的文件对象,并将其添加到`FormData`对象中,使用`append`方法。在`xhr`对象上调用`open`方法打开一个POST请求,并设置请求地址。然后,通过`onreadystatechange`函数监听请求状态和响应。最后,使用`send`方法发送`FormData`对象。
你需要将"submit_url"替换为实际的提交地址。在请求成功时,可以根据需要处理响应数据。通过控制台打印`xhr.responseText`,你可以查看服务器返回的内容。
请注意,上传文件可能需要服务器端的相应配置。
阅读全文