string building and hidden form fields

Discussion in 'JavaScript' started by cesarcesar, May 28, 2007.

  1. #1
    Hello,

    I'm trying to get this script to work, but my deep rooted PHP syntax is messing my JS up.

    I have a flash file that calls this JS function. It basically adds a number to a comma separated string. this works fine.
    
    var select = "";
    function selectCounty (cid){ select = cid + "," + select; }	
    
    Code (markup):
    The flash also calls this function to remove a value from the string. The removeVal() function works. though, the *select* variable is not reforming into a string. I'm missing how to then put the array into a form that this is part of.
    
    function unSelectCounty (cid){ 
    	// split the *select* string into an array
    	var select_array = select.split(/,/);
    
    	// remove *cid* value from array
    	unselect = removeVal(select_array, cid);
    
    	// reset *select* var
    	select = "";
    	for (i=0;i<unselect.length;i++){ if (unselect[i] != ''){ select = unselect[i] + "," + select; } }
    }
    function removeVal(arr, valToRemove){
    	// Normalize to a string like !val!!val!!val!
    	var s = '!' + arr.join('!!') + '!';
    	// Remove targeted values with delimiters
    	s = s.replace(new RegExp('!' + valToRemove + '!', 'g'), '');
    	// Remove delimiter added to end in step 1
    	s = s.replace(/^!/, '');
    	// Remove delimiter added to start in step 1
    	s = s.replace(/!$/, '');
    	// Convert to array
    	return s.split('!!');
    }
    
    Code (markup):
    Please help with these two problems-

    1) i cant get the *select* string in unSelectCounty() to reform correctly.
    2) i am unsure what to write so that the value of *select* is passed in POST form array. it can accept it either as an array or a string.

    Thanks.
     
    cesarcesar, May 28, 2007 IP
  2. cesarcesar

    cesarcesar Peon

    Messages:
    188
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #2
    ok i got a little farther, updated this function to -
    
    	function unSelectCounty (cid){ 
    		// split the *select* string into an array
    		select_array = select.split(/,/);
    		// remove *cid* value from array
    		unselect = removeVal(select_array, cid);
    		// reset *select* var
    		select = unselect.join(',');
    	}
    
    
    Code (markup):
    I still need to know about how to attach my *select* var to a hidden form field. this can be passed as a string.
     
    cesarcesar, May 28, 2007 IP
  3. coderlinks

    coderlinks Peon

    Messages:
    282
    Likes Received:
    19
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Hello,
    Suppose you have a hidden field like this:

    <input type="hidden" name="foo" id="foo" value="bar"/>

    You can change its value using

    document.getElementById('foo').value = "baz";

    Hope that helped :)

    ~
    Thomas
     
    coderlinks, May 29, 2007 IP