我想知道是否可以在javascript会话中存储表单数据,例如'title'和'description'?
我正在使用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 :(得分:0)
JavaScript没有会话。可能最好的方法是通过AJAX将标题和描述发送到服务器。
答案 1 :(得分:0)
查看此SO answer,如果不起作用......
您是否在Uploadify论坛中看到此帖子?也许它会指出你正确的方向,并在这些论坛上哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇
答案 2 :(得分:0)
如果您使用的是uploadify的最新版本,则scriptData
中的数据将script
或_POST
传递给_GET
(默认为POST
)变量。因此,在您的php文件中,您可以使用以下命令获取标题和说明:
$_POST['title']
$_POST['description']
$_POST['user']
只需将处理表单提交视为相同,只有它来自uploadify flash。另请注意,闪存未传递当前存在于浏览器中的当前Cookie。如果您的php使用存储在Cookie中的会话,则必须进行调整以便从$_POST
读取它。
我使用CodeIgniter,在CodeIgniter论坛中有补丁。如果您只是在PHP会话中使用build,则可以在PHPSESSID
内传递scriptData
,然后在script
PHP端传递,使用传递的数据重新初始化会话。在stackoverflow中已经回答了其他问题,只需使用uploadify关键字进行搜索。