У меня нет проблем с передачей чего-то в мою базу данных, поэтому предупреждение «возможно, было уже получено» выше, и связанная с ним ссылка не отвечает на мой вопрос (спасибо за попытку помочь в любом случае). Моя проблема связана с переменной 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']): "";
Я думаю, это потому, что ни один переключатель не проверен, когда параметр url
оценивается в начале загрузчика.
вместо
url : 'upload.php?aud=' + $('input[name="ageLimit"]:checked', '#myForm').val(),
иметь
url : 'upload.php',
затем добавьте после вызова plupload и перед $('form').submit(
call:
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.) } );
Надеюсь, это поможет