开发者

Sending additional fields data with Uploadify

I want to send some additional (form) fields data with uploadify. For this purpose, I am using scriptData. For example, f开发者_运维问答ollowing code sends the static values of name and location field correctly.

<script type="text/javascript">
$(document).ready(function() {
    $("#fileUpload").fileUpload({
        'uploader': 'uploadify/uploader.swf',
        'cancelImg': 'uploadify/cancel.png',
        'script': 'uploadify/upload.php',
        'folder': 'files',
        'multi': false,
        'displayData': 'speed',
        'scriptData': {'name':'JohnDoe', 'location':'Australia'}

    });
});
</script>

However, as I have the input fields name and location, therefore I want to send the dynamic values. To do so, Im sending the values in ScriptData as following

'scriptData' : {'name' : $('#name').val(), 'location' : $('#location').val()}

And on upload.php, I'm trying

$name = $_GET['name'];
$location = $_GET['location'];

But it does not get any of the values. Please help me regarding this, how I can send additional fields data. Thanks.


Because val()'s are called when DOM is loaded, not when a user types the location and name in. You should use one of the events to set new values. The manual isn't clear about it, I think it must be onSelectOnce event:

<script type="text/javascript">
$(document).ready(function() {
    $("#fileUpload").fileUpload({
        'uploader': 'uploadify/uploader.swf',
        'cancelImg': 'uploadify/cancel.png',
        'script': 'uploadify/upload.php',
        'folder': 'files',
        'multi': false,
        'displayData': 'speed',
        'scriptData': {'name':'', 'location':''},
        'onSelectOnce' : function(event,data) {
            $("#fileUpload").uploadifySettings('scriptData', {'name' : $('#name').val(), 'location' : $('#location').val()});
        }
    });
});
</script>


Have you tried putting quotes around the value you wish to JSON encode? i.e. replacing $('#location').val() with "\'"+$('#location').val()+"\'".


Here the code for uploadify 3.1

$(function() {
    $('#file_upload').uploadify({
        'formData'      : {'id' : ''},
        'debug': false,         
        'buttonClass' : 'g-button g-button-blue',
        'swf'           : '../uploadify/uploadify.swf',
        'uploader'      : 'ajax/my_upload_file.php',
        'onUploadStart' : function(file) {
            $('#file_upload').uploadify('settings', 'formData', {'id' : $('#id').val() });
        }
    });
});

I need to use it because I call my form data with json and then I must update uploadify id post parameter


You need to specify the method by which you're posting your variables:

In your uploadify config:

//...
'method': 'POST',
//...
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜