PHP:选择上传文件但不提交所有表格

时间:2013-06-09 21:25:37

标签: php forms upload submit

我有一个包含多个必填字段(姓名,电话号码等)的表单以及用于选择要提交的文件的字段。

  1. 可以在不提交表格的情况下立即上传此文件吗? (它与其他字段位于相同的元素中。
  2. 如何处理上传文件并同时提交整个表单的情况?我对PHP的熟练程度很高,所以...不会破坏它吗?
  3. 非常感谢!

1 个答案:

答案 0 :(得分:0)

这是一个简洁的功能,您可以使用javascript动态预览图像,不上传。我相信这是跨浏览器,但我无法100%确认。我很久以前就得到了这段代码,它最初并不是由我编写的,但是我已经对它进行了一些修改以满足我的需求,其中包括jQuery。如果你不在你的应用程序中使用jQuery,那么你将不得不改变一些事情。无论如何这里是功能:

var loadImageFile = (function () {
    if (window.FileReader) {
        var oPreviewImg = null, oFReader = new window.FileReader(),
            rFilter = /^(?:image\/bmp|image\/cis\-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\/svg\+xml|image\/tiff|image\/x\-cmu\-raster|image\/x\-cmx|image\/x\-icon|image\/x\-portable\-anymap|image\/x\-portable\-bitmap|image\/x\-portable\-graymap|image\/x\-portable\-pixmap|image\/x\-rgb|image\/x\-xbitmap|image\/x\-xpixmap|image\/x\-xwindowdump)$/i;
        var curImgPreview, curInput;

        oFReader.onload = function (oFREvent) {
            var tempImg = new Image();
            tempImg.onload = function(){
                curImgPreview.attr('src',oFREvent.target.result);
            }
            tempImg.src = oFREvent.target.result;
        };

        return function (inputOBJ, outputOBJ) {
            var aFiles = inputOBJ.files;
            curInput = $(inputOBJ);
            curImgPreview = outputOBJ;
            if (aFiles.length === 0) { return; }
            if (!rFilter.test(aFiles[0].type)) { Alert("Please select a valid image file."); return; }
            oFReader.readAsDataURL(aFiles[0]);
        }

    }
    if (navigator.appName === "Microsoft Internet Explorer") {
        return function () {
            otuputOBJ.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = inputOBJ.value;

        }
    }
})();

然后在你输入的文件类型中添加

<input onchange='loadImageFile(this,$(HTMLimgObject))'/>

第二个参数是你要在中预览图像文件的img对象。

希望一切顺利,

祝你好运!