2009-12-22 94 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關鍵字搜索它。