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

时间:2015-03-25 22:45:21

标签: javascript php jquery html forms

我在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>

(是的,我已经正确地包含了JQuery) 但是当我尝试使用这个将我的数据提交到php文件时,我一直认为$ _FILES [&#39; image&#39;]为空。我的PHP代码如下。

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

非常感谢任何帮助。此外,如果你有一个更简单的方法来做我想做的事情,所有的建议都被接受了。感谢大家的帮助。 :d

(发帖后的最后说明)是的我知道也有类似的问题,但大多数都比我使用Javascript更先进。对于我来说,弄清楚如何让它工作非常困难和耗时。因此,请不要将其标记为重复,因为我无法理解其他人的答案。抱歉:(

1 个答案:

答案 0 :(得分:0)

我使用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
        }
    });
});