在javascript会话中存储表单数据

时间:2009-12-22 12:53:28

标签: php javascript uploadify

我想知道是否可以在javascript会话中存储表单数据,例如'title'和'description'?

我正在使用uploadify脚本来拥有一个flash上​​传程序,但脚本没有传递标题和说明。这是我目前的代码;

<script type="text/javascript">

    jQuery(document).ready(function() {
        title = $("input#title").val();
        description = $("textarea#description").val();

        $('#uploadImage').uploadify({
            'uploader': 'flash/uploadify.swf',
            'script': 'process/process_uploaded_image.php',
            'folder': 'submitted/pictures',
            'cancelImg': 'images/cancel.png',
            'queueID'        : 'fileQueueImages',
            'auto'           : false,
            'multi'          : false,
            'fileExt' : '*.jpg;*.png;*.gif;*.jpeg;*.JPG',
            'fileDesc': 'Images ONLY (.jpg, .png, .gif, .jpeg, .JPG)',
            'buttonText' : 'BROWSE',
            'scriptData': {'title':title,'description':description,'user':'<?php echo $usr["id"] ?>'},
            'sizeLimit' : '2097152', //2MB
            //'buttonImg' : '/components/com_mm/assets/images/button-upload-images.png',
            //'width' : '218',
            //'height' : '66',
            onAllComplete: function() {
              //$('#uploadedImage').load(location.href+" #uploadedImages>*","");
              //location.reload(); //uncomment this line if youw ant to refresh the whole page instead of just the #allfiles div
                 location.href = "upload-pics-thanks.php";
            },
            //onComplete: function(a, b, c, d, e){
            //     if (d !== '1')
            //           alert(d);
            //},
            onError: function (a, b, c, d) {
                alert("Error: "+d.type+"      Info: "+d.info);
            },
            onSelect: function () {

            }   
        });
    });
</script>

3 个答案:

答案 0 :(得分:0)

JavaScript没有会话。可能最好的方法是通过AJAX将标题和描述发送到服务器。

答案 1 :(得分:0)

查看此SO answer,如果不起作用......

您是否在Uploadify论坛中看到此帖子?也许它会指出你正确的方向,并在这些论坛上哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇

http://www.uploadify.com/forum/viewtopic.php?f=7&t=3120

答案 2 :(得分:0)

如果您使用的是uploadify的最新版本,则scriptData中的数据将script_POST传递给_GET(默认为POST )变量。因此,在您的php文件中,您可以使用以下命令获取标题和说明:

$_POST['title']
$_POST['description']
$_POST['user']

只需将处理表单提交视为相同,只有它来自uploadify flash。另请注意,闪存未传递当前存在于浏览器中的当前Cookie。如果您的php使用存储在Cookie中的会话,则必须进行调整以便从$_POST读取它。

我使用CodeIgniter,在CodeIgniter论坛中有补丁。如果您只是在PHP会话中使用build,则可以在PHPSESSID内传递scriptData,然后在script PHP端传递,使用传递的数据重新初始化会话。在stackoverflow中已经回答了其他问题,只需使用uploadify关键字进行搜索。