提交后将<input type =“file”/>传递给其他表单

时间:2012-08-09 20:10:19

标签: php jquery ajax file-upload

我有一个使用ajax提交的上传表单。

这一切都运行正常,但我想要做的是将我上传的文件的名称存储在隐藏的输入类型中,所以当我提交带有文本字段的表单时,图像的名称可以提交到数据库。

我注意到当我将主表单提交到数据库时,图像的名称已丢失。我刚刚意识到输入文件在上传表单上,这就是为什么名称不会被提交。

我的问题是如何将上传文件的名称传递给我的其他表格?

在我的主要形式中,我认为我会有一个

<input type="hidden" name="imgname" id="imgname" value="" />

这是我的jquery提交表单

<script type="text/javascript"> 
    $(document).ready(function() { 
        //elements
        var progressbox     = $('#progressbox');
        var progressbar     = $('#progressbar');
        var statustxt       = $('#statustxt');
        var submitbutton    = $("#SubmitButton");
        var myform          = $("#UploadForm");
        var output          = $("#output");
        var lotterydiv      = $("#lottovidpreview");
        var completed       = '0%';

        $(myform).ajaxForm({
            beforeSend: function() { //brfore sending form
                lotterydiv.remove();
                submitbutton.attr('disabled', ''); // disable upload button
                statustxt.empty();
                progressbox.slideDown(); //show progressbar
                progressbar.width(completed); //initial value 0% of progressbar
                statustxt.html(completed); //set status text
                statustxt.css('color','#000'); //initial color of status text
            },
            uploadProgress: function(event, position, total, percentComplete) { //on progress
                progressbar.width(percentComplete + '%') //update progressbar percent complete
                statustxt.html(percentComplete + '%'); //update status text
                if(percentComplete>50) {
                    statustxt.css('color','#fff'); //change status text to white after 50%
                }
            },
            complete: function(response) { // on complete
                output.html(response.responseText); //update element with received data
                myform.resetForm();  // reset form
                submitbutton.removeAttr('disabled'); //enable submit button
                progressbox.slideUp(); // hide progressbar
            }
        });
    });

</script>

我也假设我需要在完整的功能部分做一些事情,但不知道是什么。我是否需要获取发送到php脚本以移动图像的文件的名称,还是可以从客户端获取它?

1 个答案:

答案 0 :(得分:1)

我只需要在完整的:函数

中输入它
$("#imagename").val($("#filepc").val());