通过javascript将文件从html表单发送到php

通过javascript将文件从html表单发送到php,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我已经用javascript创建了一个表单。我不想有一个提交按钮,因为它只是一个输入字段。为了使其不受影响,我只使用了onchange函数。所以我的表单如下所示 <form method="post" name="uploadImage"> <input type="file" id="uploadImg" name="uploadImg" onchange="fileClick()" /> </form> 然后我使用js提交函数来完成表单提交。因此,我

我已经用javascript创建了一个表单。我不想有一个提交按钮,因为它只是一个输入字段。为了使其不受影响,我只使用了onchange函数。所以我的表单如下所示

<form method="post" name="uploadImage">
<input type="file" id="uploadImg" name="uploadImg" onchange="fileClick()" />
</form>

然后我使用js提交函数来完成表单提交。因此,我的Javascript如下所示

function fileClick(){

document.forms["uploadImage"].submit();

$.post(
"uploadImage.php",
{image : $("#uploadImg").val()},
function(data, status){
alert(data);
$("#uploadedImgs").innerHTML = "<img src='" + data + "' alt='uploadedImg' />";
});
}
</script>
函数文件单击(){
document.forms[“uploadImage”].submit();
美元邮政(
“uploadImage.php”,
{image:$(“#uploadImg”).val()},
功能(数据、状态){
警报(数据);
$(“#uploadedImgs”).innerHTML=“”;
});
}
(是的,我正确地包括了JQuery) 但是,当我尝试使用这个函数将数据提交到php文件时,我不断得到它说$\u FILES['image']为空。下面是我的php代码

<?php
if($_FILES['image']){
echo "Image set";
} else {
echo "No image selected";
}
?>

非常感谢您的帮助。另外,如果你有一个更简单的方法来做我想做的事情,所有的建议都会被接受。谢谢大家的帮助D


(发帖后的最后一句话)是的,我知道也有类似的问题,但大多数问题都比我使用Javascript时要高级得多。这是因为它是非常简单的,因为它是非常困难和费时的我,以找出如何让它工作。所以请不要标记为重复,因为我无法理解其他人的答案。抱歉:(

我使用ajax处理类似的事情。此代码在文件选择器值更改时触发。它发布图像值,并提醒响应

$("#uploadImage").change(function(event) {
    var values = $(this).serialize();
    $.ajax({
        url: "uploadImage.php",
        type: "post",
        data: values,
        success: function(response){
            alert(response);
        },
        error:function(){
            //Error
        }
    });
});

@Companjo我想说这是一个非常类似的问题。但我的javascript不是很高级,所以我尽量让它简单。另外,在查看了他的代码后,我无法理解它,否则我会删除这个问题,认为它是重复的。对不起:/我尝试将它插入到我的代码中,但它似乎不起作用。我可能刚刚完成了错。如果你不介意把我加入skype或者其他什么,我可以告诉你这是怎么回事,那就太好了。如果你愿意的话,请回复。