2009-12-22 10 views
0

Je me demandais s'il était possible de stocker des données de formulaire telles que 'title' et 'description' dans une session javascript? J'utilise le script uploadify pour avoir un uploader flash, mais le script ne passe pas le titre et la description. C'est mon code pour le moment.Stocker des données de formulaire dans une session javascript

<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> 

Répondre

0

JavaScript ne dispose pas de sessions. Probablement le meilleur moyen est d'envoyer votre description de titre & via AJAX au serveur.

0

Si vous utilisez dernière version de Uploadify, les données scriptData seront transmises à script que soit la variable _POST ou _GET (valeur par défaut est maintenant POST). Donc, dans votre fichier php, vous pouvez obtenir le titre et la description en utilisant:

Il suffit de considérer ce même
$_POST['title'] 
$_POST['description'] 
$_POST['user'] 

avec la forme de manutention présenter, seulement il est originaire de la mémoire flash Uploadify. Notez également que le flash ne transmet pas les cookies actuels qui existent actuellement dans le navigateur. Si votre php utilise la session stockée dans les cookies, vous devez la modifier à partir de $_POST. J'utilise CodeIgniter, et il y a des correctifs pour ça dans le forum CodeIgniter. Si vous utilisez simplement la construction dans la session PHP, vous pouvez passer le PHPSESSID à l'intérieur scriptData, puis au côté script PHP, réinitialiser la session en utilisant les données transmises. Il a été répondu à d'autres questions dans stackoverflow, il suffit de le rechercher avec le mot-clé uploadify.

Questions connexes