/    Sign up×
Community /Pin to ProfileBookmark

Best way to pass a variable dynmically

I’m trying to overcome one feat, and I’ve just ran the course of my little knowledge of javascript. Here is the code that concerns us.

[code]
function loadXMLDoc()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
populateParentWindow(xmlhttp.responseText);
}
}
xmlhttp.open(“GET”,”https://www.syncupsolutions.net/currentdirectory-<?php echo $_COOKIE[‘User’] ?>.txt”,true);
xmlhttp.send();
}
function populateParentWindow(Directory) {

$(“#FTPContents”).load(‘functions/testftp.php?HASH=’ + Get_Cookie(“ftphash”) + “&reload=” + Directory) ;
};
$(function(){

$(‘#swfupload-control’).swfupload({
upload_url: ‘functions/upload-file.php?UID=’ + Get_Cookie(“User”),
file_post_name: ‘uploadfile’,
file_size_limit : “10000”,
file_types : “*.*”,
file_types_description : “All Files”,
file_upload_limit : 5,
flash_url : “functions/js/swfupload/swfupload.swf”,
button_image_url : ‘functions/js/swfupload/wdp_buttons_upload_114x29.png’,
button_width : 114,
button_height : 29,
button_placeholder : $(‘#button’)[0],
debug: false
})
.bind(‘fileQueued’, function(event, file){
var listitem='<li id=”‘+file.id+'” >’+
‘File: <em>’+file.name+'</em> (‘+Math.round(file.size/1024)+’ KB) <span class=”progressvalue” ></span>’+
‘<div class=”progressbar” ><div class=”progress” ></div></div>’+
‘<p class=”status” >Pending</p>’+
‘<span class=”cancel” >&nbsp;</span>’+
‘</li>’;
$(‘#log’).append(listitem);
$(‘li#’+file.id+’ .cancel’).bind(‘click’, function(){
var swfu = $.swfupload.getInstance(‘#swfupload-control’);
swfu.cancelUpload(file.id);
$(‘li#’+file.id).slideUp(‘fast’);
});
// start the upload since it’s queued
$(this).swfupload(‘startUpload’);
})
.bind(‘fileQueueError’, function(event, file, errorCode, message){
alert(‘Size of the file ‘+file.name+’ is greater than limit’);
})
.bind(‘fileDialogComplete’, function(event, numFilesSelected, numFilesQueued){
$(‘#queuestatus’).text(‘Files Selected: ‘+numFilesSelected+’ / Queued Files: ‘+numFilesQueued);
})
.bind(‘uploadStart’, function(event, file){
$(‘#log li#’+file.id).find(‘p.status’).text(‘Uploading…’);
$(‘#log li#’+file.id).find(‘span.progressvalue’).text(‘0&#37;’);
$(‘#log li#’+file.id).find(‘span.cancel’).show();
})
.bind(‘uploadProgress’, function(event, file, bytesLoaded){
//Show Progress
var percentage=Math.round((bytesLoaded/file.size)*100);
$(‘#log li#’+file.id).find(‘div.progress’).css(‘width’, percentage+’%’);
$(‘#log li#’+file.id).find(‘span.progressvalue’).text(percentage+’%’);
})
.bind(‘uploadSuccess’, function(event, file, serverData){
var item=$(‘#log li#’+file.id);
item.find(‘div.progress’).css(‘width’, ‘100%’);
item.find(‘span.progressvalue’).text(‘100%’);
var pathtofile='<a href=”uploads/’+file.name+'” target=”_blank” >view &raquo;</a>’;
item.addClass(‘success’).find(‘p.status’).html(‘Done!!! | ‘+pathtofile);
})
.bind(‘uploadComplete’, function(event, file){
// upload has completed, try the next one in the queue
$(this).swfupload(‘startUpload’);
loadXMLDoc();

})
[/code]

You’ll notice at the beginning, the functino loadXMLDoc.

This function GETS the contents of a text file, which is the path to the directory the user is browsing.

The next function is populateParentWindow. This is the function that dynamically updates the div that displays the files and folders of the current directory so they can see their file has been uploaded.

Scroll down a little further and you’ll see my problem.

[code]
$(function(){

$(‘#swfupload-control’).swfupload({
upload_url: ‘functions/upload-file.php?UID=’ + Get_Cookie(“User”),
[/code]

At the bottom of the above line, the :
upload_url, I need it to contain the contents of the text file also, but in a POST value, like the UID, something like, directory=thedirectory.

But, when I try

[code]
$(function(){

$(‘#swfupload-control’).swfupload({
upload_url: ‘functions/upload-file.php?UID=’ + Get_Cookie(“User”) + “&directory=” + xmlhttp.responseText,
[/code]

It gives me an undefined, right off the bat before any uploading, or anything at all takes place. I’m guessing this is because this value is set on page load, and not before the actual upload actually happens.

Does anyone have any ideas how I can set this value when the upload begins with the variable from the text file ? Keep in mind it has to be inside the function it’s in now or it wont work.

Note that the loadXMLDocument function isn’t called until the upload is complete, the .bind at the bottom of the page.

I’ve tried pulling it from the text file several ways, setting the document.title to the current directory and calling it in the function, it just always seems a step behind me or undefined. Any ideas ?

to post a comment
JavaScript

0Be the first to comment 😎

×

Success!

Help @SyncUpSolutions spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.18,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...