使用ajaxform传递当前数据

时间:2014-11-12 16:18:01

标签: javascript php jquery forms ajaxform

我有一张用于上传图片的表单:

<form action="uploadImage.php" method="post" enctype="multipart/form-data" id="UploadForm"> 
            <input type="file" id="fileInput" name="ImageFile"  help_token="upload_token" size=20 />  
             <input type="submit"  id="SubmitButton" help_token="upload_token" value="Upload" />
             <img id="loadGif" src="images/ajax-loader.gif" alt="load gif" />
        </form>

我使用ajaxform准备表单:

var statustxt               = $('#statustxt');
        var submitbutton            = $("#SubmitButton");
        var myform                  = $("#UploadForm");
        var galleryStatus2$         = $("#galleryStatus2");
        var error_code;


        $(myform).ajaxForm({  // called when the code loads
            data : {dstDir : g.currentGal},  // pass in some $_POST parameters
            resetForm : true,
            beforeSend: function() { //before submitting the form
                galleryStatus2$.empty();    // clear status from last upload
                submitbutton.attr('disabled', ''); // disable upload button
                $('img#loadGif').fadeIn(200);       // start spinner
            },
            complete: function(response) { // upload complete  
                console.log("<br />upload complete. g.currentGal = " + g.currentGal);
                galleryStatus2$.html(response.responseText); //upload status 
                submitbutton.removeAttr('disabled'); //enable submit button again
                $('img#loadGif').fadeOut(200);      // kill spinner

我遇到的问题是我希望能够告诉动作脚本uploadImage.php,要上传到哪个目录。我试图用“data:{dstDir:g.gurrentGal}”行来做到这一点。 g.currentGal保存双击的最后一个文件夹,即最后打开的文件夹,现在是任何上传的目标。但是ajaxform代码在最初加载代码时运行,而不是在提交表单时运行。所以g.currentGal是JavaScript首次加载时初始化的变量,而不是最后一个文件夹打开的。如何在提交表单时将g.currrentGal的值传递给$ _POST数组中的uploadImage.php?

由于

1 个答案:

答案 0 :(得分:0)

您需要删除输入提交,而是放置一个按钮。 在按钮上单击,您将信息存储在隐藏的输入标记内。 然后(使用jquery或其他)您可以提交表单,然后您将获得您在Php页面上设置的参数,以html格式。

编辑: 在提交表单之前,每次打开文件夹时重新启动g.storeFolder。