【问题标题】:Storing form data in a javascript session在 javascript 会话中存储表单数据
【发布时间】:2009-12-22 12:53:27
【问题描述】:

我想知道是否可以在 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>

【问题讨论】:

    标签: php javascript uploadify


    【解决方案1】:

    看看这个SO answer,如果它不起作用......

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        如果您使用最新版本的uploadify,scriptData 中的数据将作为_POST_GET(现在默认为POST)变量传递给script。因此,在您的 php 文件中,您可以使用以下方式获取标题和描述:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-22
          • 1970-01-01
          • 2014-06-18
          • 2020-01-07
          • 2020-12-27
          • 2020-10-20
          • 2016-09-01
          • 2012-08-02
          相关资源
          最近更新 更多