您好我需要在Javascript中保存变量并将其设置为uploadify。
这是我的代码:
var mediaID;
$(".edit_photo_media").live("click", function() {
mediaID = $(this).data("media-id");
$.ajax({
url: 'edit.php?action=media_select',
type: 'GET',
dataType: 'html',
success: function (select) {
if (select == '3') {
document.location = "login.php";
} else {
$("#dialog_upload_media").dialog("open");
}
}
});
return false;
});
$('#file_upload').uploadify({
'fileTypeDesc' : 'Image Files',
'fileTypeExts' : '*.jpg;',
'fileSizeLimit' : '4096KB',
'debug' : true,
'method' : 'post',
'formData' : {'id' : '' + mediaID},
'swf' : 'include/swf/uploadify.swf',
'uploader' : 'include/scripts/upload_mult.php'
});
所以每次打开上传器之前都会点击.edit_photo_media。
<a href="#" data-media-id="'.$getID[$i].'" data-table="Media" class="edit_photo_media" title="Foto hochladen"><img src="images/photo.png" /></a>
这是var mediaID获取其内容的地方。内部.edit_photo_media mediaID定义正确。
但如果我点击上传按钮,则mediaID未定义。为什么变量失去了它的价值?
编辑:好的,这似乎与uploadify错误有关?如果我在任何其他功能上检查mediaID它工作正常......很奇怪
答案 0 :(得分:4)
好的问题解决了。刚刚添加'onUploadStart'并将id保存在那里
$('#file_upload').uploadify({
'fileTypeDesc' : 'Image Files',
'fileTypeExts' : '*.jpg;',
'fileSizeLimit' : '4096KB',
'buttonText' : 'Bilder auswählen',
'debug' : true,
'method' : 'post',
'formData' : {'id' : 0},
'swf' : 'include/swf/uploadify.swf',
'uploader' : 'include/scripts/upload_mult.php',
'onUploadStart' : function(file) {
$('#file_upload').uploadify("settings", "formData", {"id": mediaID});
}
});
答案 1 :(得分:0)
jQuery仅开始包含从1.6版开始在源代码中设置的HTML5数据属性。如果你正在使用&lt; 1.6,这不会发生,在这种情况下升级jQ。