2009-12-22 41 views
0

我想知道在javascript会话中是否可以存储表单数据,如'title'和'description'?在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> 

回答

0

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

0

如果您使用最新版本的uploadify的,在scriptData数据将被传递到script为任何_POST_GET(现在默认为POST)变量。因此,在你的PHP文件,可以使用取得的标题和描述:

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

只是处理形式相同的考虑提交,只有它源于uploadify闪光灯。另请注意,闪存不会传递当前存在于浏览器中的当前Cookie。如果您的php使用存储在cookie中的会话,则必须调整它以从$_POST中读取它。

我使用CodeIgniter,并在CodeIgniter论坛中有补丁。如果您只使用PHP会话中的内部版本,您可以通过scriptData中的PHPSESSID,然后在script PHP中使用传递的数据重新初始化会话。它已在其他问题在stackoverflow中回答,只需使用uploadify关键字搜索它。