为什么我得到“;未定义的“;传递给数据库?jquery php plupload


Why am I getting "undefined" passed to the db? jquery php plupload

我在将某些内容传递到数据库中时没有遇到问题,因此上面的"可能已被回答"警报和相关链接无法回答我的问题(感谢您的帮助)。我的问题是jquery变量。

为什么当我将$('input[name="ageLimit"]:checked', '#myForm').val()传递给alert时,变量会提取正确的信息,但当我将其传递给plupload函数中的url时,它不会,最终我的数据库中会出现undefined。为什么会发生这种情况?权限?jquery冲突?

<script type="text/javascript">
// Convert divs to queue widgets when the DOM is ready
$(document).ready(function(){ 
   $('#myForm input').on('click', function() {
   alert($('input[name="ageLimit"]:checked', '#myForm').val()); 
   });
});
$(function() {
$("#uploader").plupload({
    // General settings
    runtimes : 'flash,html5,browserplus,silverlight,gears,html4',       
    url : 'upload.php?aud=' + $('input[name="ageLimit"]:checked', '#myForm').val(),
    max_file_size : '1000mb',
    max_file_count: 20, // user can add no more then 20 files at a time
    chunk_size : '1mb',
    rename: true,
    multiple_queues : true,
     //multipart_params : {
          //  aud : $('input[name="ageLimit"]').val()
    //},
    // Resize images on clientside if we can
    //resize : {width : 320, height : 240, quality : 90},
    // Rename files by clicking on their titles
    rename: true,
    // Sort files
    sortable: true,
    // Specify what files to browse for
    filters : [
        {title : "Image files", extensions : "jpg,gif,png"},
        {title : "Zip files", extensions : "zip,avi"}
    ],
    // Flash settings
    flash_swf_url : 'plupload/js/plupload.flash.swf',
    // Silverlight settings
    silverlight_xap_url : 'plupload/js/plupload.silverlight.xap'
});
// Client side form validation
$('form').submit(function(e) {
    var uploader = $('#uploader').plupload('getUploader');
    // Files in queue upload them first
    if (uploader.files.length > 0) {
        // When all files are uploaded submit form
        uploader.bind('StateChanged', function() {
            if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
                $('form')[0].submit();
            }
        });
         //uploader.bind('BeforeUpload', function(up) {
             // up.settings.multipart_params.aud = $('input[name="ageLimit"]').val();
       // });    
        uploader.start();
    } else
        alert('You must at least upload one file.');
    return false;
});

});
</script>

这是php代码

//check for audience
    $aud = (!empty($_GET['aud'])) ? trim($_GET['aud']): "";

我想这是因为在上传程序的init中评估url选项时,还没有选中单选按钮。

而不是

url : 'upload.php?aud=' + $('input[name="ageLimit"]:checked', '#myForm').val(),

url : 'upload.php',

然后在plupload调用之后和$('form').submit(调用之前添加:

var uploader = $('#uploader').plupload('getUploader');
uploader.bind('BeforeUpload',function(upldr,file){
    upldr.settings.url = 'upload.php?aud=' + $('input[name="ageLimit"]:checked', '#myForm').val();
    // here some runtimes might need a upldr.refresh(); (Though I'm not sure, I guess I remember Flash would.)
    }
);

希望这将有助于