Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 1 of 1
  1. #1
    New Coder
    Join Date
    Nov 2010
    Posts
    15
    Thanks
    0
    Thanked 1 Time in 1 Post

    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%');
    			$('#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();
    			
    		})
    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"),
    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,
    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 ?
    Last edited by syncupsolutions; 12-05-2010 at 08:20 AM.


 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •