Проблема с загрузкой jQuery и javascript - PullRequest
2 голосов
/ 28 августа 2010

Так что я использую uploadify для загрузки нескольких изображений в папку.Наряду с каждой загрузкой я хочу передать «имя пакета» из значения текстового поля.

Когда я жестко кодирую приведенное ниже batch_name (Fire), база данных обновляется нормально, но когда я заменяю «огонь»с $ ('# batch_name'). val () значение не передается.

javascript

<script type="text/javascript">
$(document).ready(function() {
    $("#uploadify").uploadify({
        'uploader'       : 'uploadify/uploadify.swf',
        'script'         : 'uploadify.php',
        'scriptData'     : {'session_id': '<?php echo session_id(); ?>', 'batch_name': 'Fire'},
        'cancelImg'      : 'cancel.png',
        'queueID'        : 'fileQueue',
        'auto'           : false,
        'multi'          : true
    });
});
</script>

textbox

<input type="text" name="batch_name" id="batch_name"/>

1 Ответ

2 голосов
/ 28 августа 2010

Вы получаете значение batch_name на document.ready, когда (я предполагаю) поле пустое & ndash; пользователь не успел набрать имя пакета, когда DOM впервые готов! ($('#batch_name').val() оценивается перед выполнением (и для выполнения) вызова .uploadify( ... ), , а не , когда отправка отправлена.)

Чтобы Uploadify передал имя пакета, введенное в поле, вам нужно изменить scriptData объект до отправки, отправленной.

$('#uploadify').uploadifySettings('scriptData', { 'session_id': '<?php echo session_id(); ?>', 'batch_name': $('#batch_name').val() });
...