0

我想知道是否可以在 javascript 会话中存储表单数据,例如“标题”和“描述”?

我正在使用 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>
4

3 回答 3

0

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

于 2009-12-22T13:11:00.217 回答
0

看看这个SO 答案,以防万一这不起作用......

您在 Uploadify 论坛中看到此帖子了吗?也许它会为您指明正确的方向,并在这些论坛中看到如此多的垃圾邮件。

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

于 2009-12-22T14:31:46.913 回答
0

如果您使用最新版本的uploadify,则数据scriptDatascript作为_POSTor _GET(默认为 now POST)变量传递给。因此,在您的 php 文件中,您可以使用以下方法获取标题和描述:

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

只要考虑它与处理表单提交相同,只是它起源于uploadify flash。另请注意,flash 不会传递浏览器中当前存在的当前 cookie。如果您的 php 正在使用存储在 cookie 中的会话,则必须对其进行调整以从中读取它$_POST

我使用 CodeIgniter,在 CodeIgniter 论坛中有补丁。如果你只是在 PHP 会话中使用构建,你可以通过PHPSESSID内部scriptData,然后在scriptPHP 中,使用传递的数据重新初始化会话。它已在stackoverflow的其他问题中得到解答,只需使用uploadify关键字搜索即可。

于 2010-01-17T00:04:30.347 回答