<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Making It Up As I Go Along - Javascript</title>
			<link>http://www.miuaiga.com/index.cfm</link>
			<description></description>
			<language>en-us</language>
			<pubDate>Sun, 05 Sep 2010 13:10:37 -0600</pubDate>
			<lastBuildDate>Sun, 30 May 2010 18:37:00 -0600</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>michael@miuaiga.com</managingEditor>
			<webMaster>michael@miuaiga.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>michael@miuaiga.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			<itunes:image href="" />
			<image>
				<url></url>
				<title>Making It Up As I Go Along</title>
				<link>http://www.miuaiga.com/index.cfm</link>
			</image>
			<itunes:explicit>no</itunes:explicit>
			
			<item>
				<title>jQuery AJAX get() function cached in IE</title>
				<link>http://www.miuaiga.com/index.cfm/2010/5/30/jQuery-AJAX-get-function-cached-in-IE</link>
				<description>
				
				&lt;p&gt;From the &apos;how the heck were we supposed to know this?&apos; department, a little tidbit I&apos;d like to share, perhaps saving some poor, frustrated developer from the same type of mystifying madness:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;jQuery &quot;get()&quot; operations are cached in IE unless you pass in a unique URL !&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;By cached, I mean, you can have a remote page with a query or other function, which responds to a unique set of values being passed in, and it will work fine in Firefox, but in IE, you&apos;ll get the same results from the remote page, even if the response is unique (like query results that have changed, for the same record), unless the values you are passing in via get()  are also unique (i.e. you haven&apos;t looked up that particular record yet).&lt;/p&gt;
&lt;p&gt;So, before you go banging your head on the floor and screaming out &apos;why oh why can&apos;t i find the problem, let alone the solution?!?&apos; (not that i would ever do that), read this post, which i found via a quick Google search for &apos;jquery get IE cache&apos; : &lt;a href=&quot;http://www.sitecrafting.com/blog/ajax-ie-caching-issues/&quot; target=&quot;_blank&quot;&gt;http://www.sitecrafting.com/blog/ajax-ie-caching-issues/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I only had the presence of mind to run that search once i got my ajax results to display as an alert on the calling page, and deduced that the displayed content was based on the first values passed in, while all other updates and requests were ignored.&lt;/p&gt;
&lt;p&gt;The fix, as that post suggests, is to create a unique url. In this case, i use javascript to append a random number to my function, - in this case, I just use javascript to create a random number right inline, then add that as a meaningles url variable to the page in the get() function:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // set up unique url&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var randomNo = Math.floor(Math.random()*9999999);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var urlStr = &apos;journalLookup.cfm?r=&apos; + randomNo;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // run get function using randomized URL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $.get(&lt;strong&gt;urlStr&lt;/strong&gt;,{jdate:dateLookup}, function(data){&amp;nbsp; .... [ function here ]&lt;/p&gt;
&lt;p&gt;If this saves you some aggravation, let me know in the comments ... maybe i&apos;ll feel better about the time i just wasted chasing this mystery &apos;feature&apos; in IE!!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>jQuery</category>				
				
				<pubDate>Sun, 30 May 2010 18:37:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2010/5/30/jQuery-AJAX-get-function-cached-in-IE</guid>
				
			</item>
			
			<item>
				<title>New TinyMCE lets you paste as plain text automatically</title>
				<link>http://www.miuaiga.com/index.cfm/2010/1/7/New-TinyMCE-lets-you-paste-as-plain-text-automatically</link>
				<description>
				
				&lt;p&gt;When building web applications, one of the most common functions involves allowing a site administrator to add or edit content on a page via some sort of &apos;wysiwyg&apos; (what you see is what you get) editor. My tool of choice for this purpose is the very versatile, relatively light TinyMCE ( &lt;a href=&quot;http://tinymce.moxiecode.com/&quot;&gt;tinymce.moxiecode.com&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;As great as these tools are, it is inevitable that the average site administrator will want to copy and paste some text from a word processing function like MS Word or WordPerfect, both of which add invisible formatting to the copy-and-pasted text, which in turn can really mess up even the best of web designs. &lt;br /&gt;&lt;br /&gt;TinyMCE has had a very nice &apos;paste from word&apos; plugin for as long as I can remember, but it still requires the user to click a tiny icon for the &apos;paste from word&apos; popup, and then paste their text into that. ( There is also a &apos;paste as plain text&apos; option which removes all formatting just as if you&apos;d copied into notepad first, then pasted into the web form). So, even with these great options, I still find myself answering more than a few support calls related to text not looking quite like it should (or worse) when copying from Word.&lt;/p&gt;
&lt;p&gt;Much to my delight, I&apos;ve found a much better solution - the newest version of TinyMCE has the &quot;paste&quot; plugin built in, and it now includes options for cleaning up the text automatically when pasting right into the main text box (without needing to use the littlepopup icons).&lt;/p&gt;
&lt;p&gt;As seen on the paste plugin page (&lt;a href=&quot;http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste&quot;&gt;TinyMCE:Plugins/paste - Moxiecode Documentation Wiki&lt;/a&gt;) you simply need to include &apos;paste&apos; in the list of plugins when initializing the tinyMCE script, and then can call the cleanup options like this:&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; paste_auto_cleanup_on_paste : true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; paste_remove_styles: true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; paste_remove_styles_if_webkit: true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; paste_strip_class_attributes: true,&lt;/p&gt;
&lt;p&gt;This runs the &apos;paste from word&apos; function automatically, then removes any remaining inline style and class attributes , leaving you with nice clean paragraph-formatted html.&lt;/p&gt;
&lt;p&gt;so, whether your clients remember to use that little button or not, whatever they paste (via ctrl+v on their keyboards) will be stripped clean, ready to be shown in pristine valid html format on your site.&lt;br /&gt;&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Thu, 07 Jan 2010 02:13:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2010/1/7/New-TinyMCE-lets-you-paste-as-plain-text-automatically</guid>
				
			</item>
			
			<item>
				<title>How to show changed input and select fields with jQuery</title>
				<link>http://www.miuaiga.com/index.cfm/2009/12/10/How-to-show-changed-input-and-select-fields-with-jQuery</link>
				<description>
				
				Here are a few quick easy jquery functions that will add a class of &apos;changed&apos; to any input or select box if it is changed, and will remove that class if the value is reset to the default. 

&lt;code&gt;

		// inputs
		$(&apos;form.myForm :input&apos;).change(function(){
		var defval = $(this)[0].defaultValue;
		if ($(this).val()!=defval){
			$(this).addClass(&apos;changed&apos;);
		} else {
		 	$(this).removeClass(&apos;changed&apos;);
		}
		}).keyup(function(){
		 	$(this).trigger(&apos;change&apos;);
		});

		// select boxes
		$(&apos;form.myForm select&apos;).change(function(){
		var defval = $(this).find(&apos;option[defaultSelected=true]&apos;).val();
		if ($(this).val()!=defval){
			$(this).addClass(&apos;changed&apos;);
		} else {
		 	$(this).removeClass(&apos;changed&apos;);
		}
		}).keyup(function(){
		 	$(this).trigger(&apos;change&apos;);
		});

&lt;/code&gt;

Note in both cases we use keyup (onkeyup) to trigger the &apos;change&apos; event. This allows the browser to show the changed class as soon as the user changes the value using a keyboard, rather than &apos;onblur&apos;. 
				</description>
				
				<category>Javascript</category>				
				
				<category>jQuery</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Thu, 10 Dec 2009 04:16:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/12/10/How-to-show-changed-input-and-select-fields-with-jQuery</guid>
				
			</item>
			
			<item>
				<title>Javascript How To: Add a Number of Days to a Date</title>
				<link>http://www.miuaiga.com/index.cfm/2009/11/11/Javascript-How-To-Add-a-Number-of-Days-to-a-Date</link>
				<description>
				
				I have a form where a user can input a date in the format mm/dd/yyyy, and we need to add an &apos;expiration date&apos; that is 30 days from the date entered, regardless of calendar month, leap years, or other complex calculations. 

Thankfully, javascript already has the &apos;setDate()&apos; function built in. We just have to parse the date object (a full javascript formatted date string) out of the given form input ( e.g. &apos;11/10/2009&apos;).

Easy enough - first we parse out the numeric date/time object, and in this example, write it to the screen. 

Then, we add 30 days (the number of days can be changed in the setting for the &apos;interval&apos; variable - use a negative number to remove days)

Again, this example simply writes the date to the screen. In the current usage, I will use that date value to populate another text input in the same form as the initial date being entered.

&lt;code&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function setExpDate(formDate){
	// set number of days to add
	var interval = 30;
	var startDate = new Date(Date.parse(formDate));
	document.write(&apos;start: &apos; + startDate);
	var expDate = startDate;
	expDate.setDate(startDate.getDate() + interval);
	document.write(&apos;&lt;br&gt;expire: &apos; + expDate);
};
&lt;/script&gt;
&lt;/code&gt;

Example usage on a form input:

&lt;code&gt;

&lt;input type=&quot;text&quot; size=&quot;10&quot; maxlength=&quot;10&quot; id=&quot;startDate&quot; name=&quot;startDate&quot; onblur=&quot;setExpDate(this.value)&quot;&gt; &#xa0;&#xa0;

&lt;/code&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Wed, 11 Nov 2009 13:29:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/11/11/Javascript-How-To-Add-a-Number-of-Days-to-a-Date</guid>
				
			</item>
			
			<item>
				<title>jQuery Cycle slideshow demo with next/back/paging links</title>
				<link>http://www.miuaiga.com/index.cfm/2009/10/29/jQuery-Cycle-slideshow-demo-with-nextbackpaging-links</link>
				<description>
				
				This demo uses some of the advanced features of the jQuery Cycle plugin to create a mixed content slideshow (html/text/images) with a visual navigation bar, and next/back arrows

In this setup, the slideshow advances automatically, until somebody clicks one of the links, which stops the automatic action and allows the user to control the advancement of the slides. The Cycle plugin allows for pausing, resuming or stopping the slideshow with a simple click action. 

See the demo (includes css/jquery code for easy reuse)
&lt;a href=&quot;http://www.gowestwebdesign.com/demos/jquery-cycle-gallery-next-back-paging/&quot;&gt;http://www.gowestwebdesign.com/demos/jquery-cycle-gallery-next-back-paging/&lt;/a&gt;

Thanks to Mike Alsup for the versatile Cycle plugin: &lt;a href=&quot;http://www.malsup.com/jquery/cycle/&quot;&gt;http://www.malsup.com/jquery/cycle/&lt;/a&gt;

Feel free to use the code for any purpose, and please drop me a comment or link to check out your work. As always, comments/suggestions/fixes are welcome. 
				</description>
				
				<category>Javascript</category>				
				
				<category>jQuery</category>				
				
				<category>Demos</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Thu, 29 Oct 2009 11:53:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/10/29/jQuery-Cycle-slideshow-demo-with-nextbackpaging-links</guid>
				
			</item>
			
			<item>
				<title>Replace missing images sitewide with jQuery and ColdFusion</title>
				<link>http://www.miuaiga.com/index.cfm/2009/7/8/Replace-missing-images-sitewide-with-jQuery-and-ColdFusion</link>
				<description>
				
				In my application.cfc, within the &apos;onRequestStart&apos; function, I have a variable defined for the replacement image to use in my site.

&lt;cfset request.missingImage = &quot;img/blank.gif&quot;&gt;

Then, in an include that puts special goodies into the head of every generated html page sitewide, I have this bit of cf code

&lt;code&gt;

&lt;!--- missing img src ---&gt;
&lt;cfif fileExists(expandPath(request.missingImage))&gt;
	&lt;cfset imgErrorSrc = &apos;#request.thisdir##request.missingImage#&apos;&gt;
&lt;cfelse&gt;
	&lt;cfset imgErrorSrc = &apos;&apos;&gt;
&lt;/cfif&gt;

&lt;/code&gt;

This checks to make sure the &apos;error&apos; image actually exists - if not, we just use a blank &apos;&apos; value.
 
(Note: request.thisDir is my own global variable that references the root of the site - you can replace that with any hardcoded or dynamic url)

Then, write a simple function to replace any images - this duplicates a similar usage of the &lt;img&gt; tag&apos;s &apos;onerror&apos; attribute ( which is fine for images in non-strict doctypes, but is not entirely valid ).

&lt;code&gt;

&lt;!--- replace all missing images with replacement image, or with empty src ---&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function(){
	$(&apos;body img&apos;).error(function(){
		$(this).attr(&apos;src&apos;, &apos;&lt;cfoutput&gt;#imgErrorSrc#&lt;/cfoutput&gt;&apos;).attr(&apos;alt&apos;,&apos;&apos;);
	});
});
&lt;/script&gt;
&lt;/code&gt;

That&apos;s it. 
Also notice I am clearing the &apos;alt&apos; attribute as a final precaution. Using this method, any missing image anywhere within the html &lt;body&gt; will simply be &apos;blanked out&apos;.

I could use jQuery&apos;s .remove() function, to remove a missing image completely from the DOM, but there are times when I want the space or layout to be preserved, and really, I don&apos;t want errant images in my pages at all, so this gives me a way to debug if I find my self (inevitably) scratching my head when a missing image simply &apos;vanishes&apos; from the page 4 or 5 sites from now.

As a final note, the CF part of this, setting the value for the &apos;src&apos; attribute, can be enhanced to include different images for different pages, or under different conditions. Likewise, the jQuery function could be expanded to target images in one location with a specific action, and in another with a separate function by using different css selectors.

Just another example of how Jquery + CF = bliss :-) 
				</description>
				
				<category>Javascript</category>				
				
				<category>ColdFusion</category>				
				
				<category>jQuery</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Wed, 08 Jul 2009 00:03:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/7/8/Replace-missing-images-sitewide-with-jQuery-and-ColdFusion</guid>
				
			</item>
			
			<item>
				<title>Remove missing images (and parent elements) using jQuery</title>
				<link>http://www.miuaiga.com/index.cfm/2009/6/23/Remove-missing-images-and-parent-elements-using-jQuery</link>
				<description>
				
				&lt;p&gt;My client has an auto dealership site where inventory images are pulled remotely, i.e. &apos;hotlinked&apos;, from the inventory service&apos;s website. The client asked me to create a slideshow of inventory images on the home page - no problem using jQuery cycle() plugin - but there&apos;s one hangup: some of the images don&apos;t exist!&amp;nbsp; Easy enough to remove the images ( &amp;lt;img onerror=&quot;this.style.display = &apos;none&apos;&quot;&amp;gt; ) , but these images are dynamically linked, and contained in an unordered list. So, even if I remove the errant images with an inline attribute, I still have this empty &apos;a&apos; and &apos;li&apos; hanging around.&lt;/p&gt;
&lt;p&gt;Using a single line of jQuery code, I whipped up this super-quick solution:&lt;/p&gt;
&lt;p&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;$(document).ready(function(){&lt;/p&gt;
&lt;p&gt;// find all missing images&lt;br /&gt;$(&apos;#slideshowWrap img&apos;).error(function(){&lt;/p&gt;
&lt;p&gt;// hide the image, then remove the parent element from the DOM&lt;br /&gt;$(this).hide().parents(&apos;a&apos;).parents(&apos;li&apos;).remove();&lt;/p&gt;
&lt;p&gt;// uncomment line below to see the script at work&lt;br /&gt;//alert(&apos;hidden: &apos; + $(this).attr(&apos;src&apos;));&lt;/p&gt;
&lt;p&gt;});&lt;/p&gt;
&lt;p&gt;// end jquery&lt;br /&gt;});&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;The parents(&apos;a&apos;) could become parents(&apos;p&apos;) or whatever is needed to get rid of the containing element.&lt;/p&gt;
&lt;p&gt;Maybe the &apos;hide()&apos; combined with &apos;remove()&apos; is redundant.... but I like it.&lt;/p&gt;
&lt;p&gt;That &apos;alert&apos; line, if uncommented, will alert you to the src of each missing image for testing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>jQuery</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Tue, 23 Jun 2009 16:04:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/6/23/Remove-missing-images-and-parent-elements-using-jQuery</guid>
				
			</item>
			
			<item>
				<title>jQuery validate() plugin, IE6, simple solution</title>
				<link>http://www.miuaiga.com/index.cfm/2009/6/2/jQuery-validate-plugin-IE6-simple-solution</link>
				<description>
				
				&lt;p&gt;I have been using the jQuery validate plugin for just about every form I&apos;ve created in the past year or more. Easy, robust, beautiful stuff by world-class jQuery coder J&amp;ouml;rn Zaefferer ( &lt;a href=&quot;http://bassistance.de/jquery-plugins/jquery-plugin-validation/&quot;&gt;plugin page&lt;/a&gt; ) ... if you haven&apos;t checked it out yet, please do!&lt;/p&gt;
&lt;p&gt;Anyway, tonight I had (yet another) strange thing happen in IE6 - basically, nothing was happening. The form i was working on was able to submit in IE6 as if javascript was disabled - no errors, no message, nothing. As usual, everything was fine in Firefox (firebug) and IE7, and I was stumped as only IE6 can stump me... then, thanks to Google, I found this thread:&lt;a href=&quot;http://groups.google.com/group/jquery-en/browse_thread/thread/843bc94ffef99250&quot;&gt; http://groups.google.com/group/jquery-en/browse_thread/thread/843bc94ffef99250&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Apparently there is something in the packed version of the validation file (jquery.validate.pack.js) that IE6 does not like. The solution? Don&apos;t use the packed version! Takes up a little more bandwidth but at least it works in all browsers.&lt;br /&gt;&lt;br /&gt;Now - how much longer do we have to keep caring about IE6? (In this case, the offending browser is on the client&apos;s computer, so I have to play nice as much as possible...)&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>jQuery</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Tue, 02 Jun 2009 23:39:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/6/2/jQuery-validate-plugin-IE6-simple-solution</guid>
				
			</item>
			
			<item>
				<title>Firefox: select onChange() when using keyboard - a solution</title>
				<link>http://www.miuaiga.com/index.cfm/2009/4/22/Firefox-select-onChange-when-using-keyboard--a-solution</link>
				<description>
				
				&lt;p&gt;Working on a CartWeaver site, modifying part of the routine whereby different prices are shown on the page when selecting various options from a dropdown list on the product details page, I noticed that in Firefox, the &apos;onchange&apos; event of the select list only fires if using a mouse, or when tabbing out of the select box using the keyboard ( select list loses focus).&lt;/p&gt;
&lt;p&gt;I guess it&apos;s always been this way, I just haven&apos;t noticed until now. Fortunately there is a very easy fix - append the &apos;losing of focus&apos; to the &apos;onkeyup&apos; event, so that either keyboard or mouse have the same effect, causing the browser to register the &apos;change&apos;.&lt;/p&gt;
&lt;p&gt;Original select list is like this:&lt;/p&gt;
&lt;p&gt;&amp;lt;select name=&quot;sel&quot; id=&quot;sel#i#&quot; onchange=&quot; ( function here )&quot; &amp;gt;&lt;/p&gt;
&lt;p&gt;Adding just a bit of code for the onkeyup, like so:&lt;/p&gt;
&lt;p&gt;&amp;lt;select name=&quot;sel&quot; id=&quot;sel#i#&quot; onchange=&quot; ( function here )&quot; onkeyup=&quot;this.blur();this.focus();&quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;we now have a list that loses then regains focus everytime a key is pressed (while it has focus), i.e. using the keyboard to move up or down through the options now triggers a split-second loss and regaining of focus, which is enough to trigger the &apos;onchange()&apos; in firefox. I love a good easy fix!&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;http://sanketvasa.blogspot.com/2008/12/weird-behaviour-of-onchange-event-of.html&quot; target=&quot;_blank&quot;&gt;Sanket Vasa&lt;/a&gt; for the tip&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>Cartweaver</category>				
				
				<pubDate>Wed, 22 Apr 2009 00:19:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/4/22/Firefox-select-onChange-when-using-keyboard--a-solution</guid>
				
			</item>
			
			<item>
				<title>CF Gallery Creator &amp; jQuery Slider Gallery !New and Improved!</title>
				<link>http://www.miuaiga.com/index.cfm/2009/4/11/CF-Gallery-Creator--jQuery-Slider-Gallery-New-and-Improved</link>
				<description>
				
				&lt;p&gt;Still a work in progress, I have fixed a few small things and added better setup notes for the &lt;a href=&quot;../index.cfm/2008/10/11/CF-Gallery-Creator--jQuery-Slider-Gallery&quot;&gt;CF Gallery Creator and jQuery Slider Gallery&lt;/a&gt; (click for explanation in previous post)&lt;/p&gt;
&lt;p&gt;The new code is available as a zip file, attached ** see below **&lt;/p&gt;
&lt;p&gt;This package contains&lt;/p&gt;
&lt;p&gt;1) a custom ColdFusion image gallery generator, which will create thumbnails and large images of any size you specify from a folder containing your original images, and outputs them to the page in a nice unordered list html markup.&lt;/p&gt;
&lt;p&gt;Includes options for multiple subfolders, each one a separate &apos;gallery&apos; with thumbnail or dropdown navigation.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2) a simply but effective &apos;slider gallery&apos; built on css and jQuery. Example here:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.gowestweb.com/cfdev/_tags/gallery/slidergallery.cfm?gallery=some-gallery-name&quot; target=&quot;_blank&quot;&gt;http://www.gowestweb.com/cfdev/_tags/gallery/slidergallery.cfm?gallery=some-gallery-name&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;( Without the jQuery and css, the raw markup from the CF tag alone looks like this&lt;a href=&quot;http://www.gowestweb.com/cfdev/_tags/gallery/gallerypage.cfm?gallery=some-gallery-name&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;http://www.gowestweb.com/cfdev/_tags/gallery/gallerypage.cfm?gallery=some-gallery-name&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As usual this was built to meet a specific need for a client project and has been tweaked and adjusted along the way.&lt;/p&gt;
&lt;p&gt;Please DO try it out, and let me know if/when you use it. &lt;br /&gt;Comments, enhancements and suggestions welcome!&lt;/p&gt; 
				</description>
				
				<category>CF Tags</category>				
				
				<category>Javascript</category>				
				
				<category>ColdFusion</category>				
				
				<category>jQuery</category>				
				
				<category>Demos</category>				
				
				<pubDate>Sat, 11 Apr 2009 20:57:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/4/11/CF-Gallery-Creator--jQuery-Slider-Gallery-New-and-Improved</guid>
				
				<enclosure url="http://www.miuaiga.com/enclosures/miuaigaCF-galleryjQuery-slider.zip" length="32331" type="application/zip"/>
				
			</item>
			
			<item>
				<title>Some alternatives to Adobe NNTP Newsgroups</title>
				<link>http://www.miuaiga.com/index.cfm/2009/4/3/Some-alternatives-to-Adobe-NNTP-Newsgroups</link>
				<description>
				
				&lt;p&gt;As many dedicated web developers mourn the passing of the NNTP interface for Adobe&apos;s support forums ( formerly nntp://forums.adobe.com ), I&apos;d like to extend a hearty welcome, inviting all web developers, friends and interested cohorts to join myself and a number of other seasoned web professionals in some popular NNTP-friendly alternative hangouts.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://miuaiga.com/page.cfm/Web-Developer-Newsgroups&quot; target=&quot;_self&quot;&gt;http://www.miuaiga.com/page.cfm/Web-Developer-Newsgroups&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In addition to general web developer newsgroups, there are some specialized groups for ColdFusion, javascript (ok, mostly jQuery), all three flavors of CartWeaver (E-commerce) and more.&lt;/p&gt;
&lt;p&gt;Every one of the newsgroups listed on the page above is happy to welcome new and interesting contributors, the more the merrier. You may even discover some old friends among the archived threads.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;NOTE: If you are not currently using NNTP to interact with other web-folks online, you&apos;ve been missing out! I recommend Mozilla Thunderbird, and an account at each one of the places listed. See you there!&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;In regards to the big switch, the Adobe Dreamweaver support forum says this: &lt;br /&gt;&lt;br /&gt;ANNOUNCEMENT: Forums will be unavailable for planned system maintenance &lt;br /&gt;starting at 3pm PST on April 3, 2009. New forums will be online on &lt;br /&gt;Monday April 6, 2009.&lt;/p&gt;
&lt;p&gt;( currently April 3, 1:35 Pacific time ... T-minus 90 minutes )&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>ColdFusion</category>				
				
				<category>Tools &amp;amp; Tips</category>				
				
				<category>jQuery</category>				
				
				<category>Cartweaver</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Fri, 03 Apr 2009 16:32:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/4/3/Some-alternatives-to-Adobe-NNTP-Newsgroups</guid>
				
			</item>
			
			<item>
				<title>jQuery noSpam email address protector now works with euro domains! (two dots)</title>
				<link>http://www.miuaiga.com/index.cfm/2009/3/20/jQuery-noSpam-email-address-protector-now-works-with-euro-domains-two-dots</link>
				<description>
				
				&lt;p&gt;Need to show an email address on the web? &lt;br /&gt;You have a few options:&lt;/p&gt;
&lt;p&gt;1) create a standard &quot;mailto:&quot; link and enjoy an endless flow of vi@gR&amp;amp;! ads and invitiations for massive funds transfers from far away lands&lt;/p&gt;
&lt;p&gt;2) use an email obfuscator! &lt;br /&gt;&lt;br /&gt;My favorite email address obfuscator by far is the jQuery &lt;a href=&quot;http://www.leftrightdesigns.com/library/jquery/nospam/&quot;&gt;noSpam&lt;/a&gt; plugin by Mike Branski.&lt;br /&gt;This jQuery plugin turns an obfuscated e-mail address into a human-readable one.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Now supports multiple dots (.) both before and after the at (@) sign!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;While the simplicity and smoothness of this little script has always been top-notch, it has just been made even better by allowing the use of euro-style domains, such as &quot; user@domain.co.uk &quot; in addition to standard &apos;single dot&apos; extensions. &lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;To use this plugin, include &lt;a href=&quot;http://www.leftrightdesigns.com/library/jquery/nospam/jquery.nospam.js&quot;&gt;jquery.nospam.js&lt;/a&gt; and call the nospam() method. No Spam automatically detects if your matched element is a link. If so, it checks the rel attributes for the obfuscated e-mail addresses. For all other elements, it uses the text between the matched tags.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Examples and further instructions are at &lt;a href=&quot;http://www.leftrightdesigns.com/library/jquery/nospam/&quot;&gt;http://www.leftrightdesigns.com/library/jquery/nospam/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>jQuery</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Fri, 20 Mar 2009 12:07:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/3/20/jQuery-noSpam-email-address-protector-now-works-with-euro-domains-two-dots</guid>
				
			</item>
			
			<item>
				<title>jQuery : find empty select boxes (or selects with a specific value)</title>
				<link>http://www.miuaiga.com/index.cfm/2009/2/12/jQuery--find-empty-select-boxes-or-selects-with-a-specific-value</link>
				<description>
				
				&lt;p&gt;Another super short jQuery solution to a super long late-night quest on my part.&lt;br /&gt;&lt;br /&gt;I have a form with a variable number of select boxes. Before the form can be submitted, I need to verify that there are no selections left unchanged.&lt;/p&gt;
&lt;p&gt;The select boxes start out with a default value of &apos;&apos;&amp;nbsp; (empty quotes). To search for them , i was using all sorts of variations on jquery &apos;val()&apos;, but that is more useful for setting a value than finding a select with a value. After a few various connotations... here&apos;s the one that works:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;var valCt = $(&apos;select.colorselect[value=&quot;&quot;]&apos;).size();&lt;/p&gt;
&lt;p&gt;This finds all selects with the class of &apos;colorselect&apos; and the value of &apos;&apos;, and returns the size, which in jQuery talk means &apos;how many&apos;. If I have 3 unchanged select boxes, valCt will equal &apos;3&apos;. &lt;br /&gt;&lt;br /&gt;From there it is an easy hop to add a check to the submit action of my form, checking to make sure valCt is 0.&lt;/p&gt;
&lt;p&gt;if (!(valCt == 0)) { &lt;br /&gt;return false &lt;br /&gt;} else [ ... submit form here ... ]&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>jQuery</category>				
				
				<pubDate>Thu, 12 Feb 2009 01:37:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/2/12/jQuery--find-empty-select-boxes-or-selects-with-a-specific-value</guid>
				
			</item>
			
			<item>
				<title>Adding Twitter Tweetbacks to BlogCFC - find out if your posts get tweeted!</title>
				<link>http://www.miuaiga.com/index.cfm/2009/1/20/Adding-Twitter-Tweetbacks-to-BlogCFC--find-out-if-your-posts-get-tweeted</link>
				<description>
				
				&lt;p&gt;Thanks very much to &lt;a href=&quot;http://www.reybango.com/index.cfm&quot; target=&quot;_blank&quot;&gt;Rey Bango&lt;/a&gt; for the excellent, easy BlogCFC instructions, and to &lt;a href=&quot;http://danzarrella.com/&quot; target=&quot;_blank&quot;&gt;Dan Zarella&lt;/a&gt; for the javascript that makes it go.&lt;/p&gt;
&lt;p&gt;The post with full &apos;how to&apos; is here, on Rey&apos;s site:&lt;br /&gt;&lt;a href=&quot;http://www.reybango.com/index.cfm/2009/1/20/Adding-TweetBacks-to-BlogCFC&quot; target=&quot;_blank&quot;&gt;http://www.reybango.com/index.cfm/2009/1/20/Adding-TweetBacks-to-BlogCFC&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I just love the cf community... and twitter!&lt;/p&gt;
&lt;p&gt;== == ==&lt;/p&gt;
&lt;p&gt;UPDATE:&lt;/p&gt;
&lt;p&gt;The new improved version is here: &lt;br /&gt;&lt;a href=&quot;http://www.reybango.com/index.cfm/2009/1/23/TweetBacks--BlogCFC--A-BIG-Update-Major-Speed-Improvement&quot;&gt;http://www.reybango.com/index.cfm/2009/1/23/TweetBacks--BlogCFC--A-BIG-Update-Major-Speed-Improvement&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks also to Adam Tuttle for the cool &lt;a href=&quot;http://sweettweetscfc.riaforge.org/&quot;&gt;sweettweets cfc&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>ColdFusion</category>				
				
				<category>Tools &amp;amp; Tips</category>				
				
				<category>BlogCFC</category>				
				
				<pubDate>Tue, 20 Jan 2009 23:03:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/1/20/Adding-Twitter-Tweetbacks-to-BlogCFC--find-out-if-your-posts-get-tweeted</guid>
				
			</item>
			
			<item>
				<title>Mobile jQuery Cheat Sheet</title>
				<link>http://www.miuaiga.com/index.cfm/2009/1/11/Mobile-jQuery-Cheat-Sheet</link>
				<description>
				
				&lt;p&gt;&lt;a href=&quot;http://colorcharge.com/jquery/&quot; target=&quot;_blank&quot;&gt;http://colorcharge.com/jquery/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;made for iPhone/iTouch but works great on my blackberry in Opera mobile. Unlike most of the things I bookmark on my mobile, I can actually see using this one.&lt;br /&gt;&lt;br /&gt;here&apos;s the actual URL, click this link in your mobile browser:&lt;br /&gt;&lt;a href=&quot;http://labs.colorcharge.com/jtouch/&quot; target=&quot;_blank&quot;&gt;http://labs.colorcharge.com/jtouch/&lt;/a&gt;&lt;/p&gt; 
				</description>
				
				<category>Javascript</category>				
				
				<category>BlackBerry</category>				
				
				<category>Tools &amp;amp; Tips</category>				
				
				<category>jQuery</category>				
				
				<category>WebDev</category>				
				
				<pubDate>Sun, 11 Jan 2009 02:13:00 -0600</pubDate>
				<guid>http://www.miuaiga.com/index.cfm/2009/1/11/Mobile-jQuery-Cheat-Sheet</guid>
				
			</item>
			</channel></rss>