Почему я получаю "неопределенный", передаваемый в БД? jquery php plupload

У меня нет проблем с передачей данных в мою базу данных, поэтому приведенное выше предупреждение "возможно, уже получено" и связанная с ним ссылка не отвечают на мой вопрос (в любом случае, спасибо за попытку помочь). Моя проблема с переменной jquery.

Почему, когда я прохожу $('input[name="ageLimit"]:checked', '#myForm').val() для предупреждения переменная извлекает правильную информацию, но когда я передаю ее в url-адрес в функции plupload, это не так, и в итоге я получаю 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']): "";

1 ответ

Решение

Я думаю, это потому, что ни одна радио-кнопка еще не отмечена 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.)
    }
);

Надеюсь, это поможет

Другие вопросы по тегам