我有一个表格,允许用户输入项目编号,项目说明,创建日期,还可以上传图像。我想将商品编号,商品说明,创建日期,上传的图片以及非格式输入(登录ID)推送到我的php文件中,以上传到数据库中。在尝试添加图像之前,一切都正常进行。我无法显示我的图像。有人告诉我将FormData用于图像,但是如何传递来自表单的其他输入和非表单输入的登录ID。这是我的原始代码,除了图像以错误的格式传递外,都在工作。
@ElementCollection
请注意UserEmail不在表单中。我需要将此数据与其他数据一起发送,以便可以同时上传。
现在,我正在尝试更新代码以适合格式,但是我不确定自己的语法是否正确,并且我不知道如何添加用户电子邮件。
UserSkill
1)我走对了吗?语法对吗? 2)如何添加用户电子邮件?
答案 0 :(得分:0)
您应该从此开始将一个或多个图像添加到FormData:
var formdata = new FormData();
// Check For Multile Files to Upload
if( document.getElementById("upload_field_id") ) {
var filedata = document.getElementById("upload_field_id").files;
var len = filedata.length;
if( len ) {
for (var i=0; i < len; i++) {
var file = filedata[i];
formdata.append('files[]', file);
}
}
}
在此之后,您还可以附加其他字段:
// Your code:
var number = document.forms["additemform"]["item_number"].value;
var description = document.forms["additemform"]["item_description"].value;
var date = document.forms["additemform"]["creation_date"].value;
var useremail= "<?php echo $_SESSION['UserEmail']; ?>";
// End of Your code
formdata.append('number', number);
formdata.append('description', description);
formdata.append('date', date);
formdata.append('useremail', useremail);
就是这样。您只需在ajax调用中将formdata
作为data
属性的值,并在$ .php目标文件中捕获$ _REQUEST。