<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ryan Coughlin &#124; Web and Graphic Designer &#187; ajax</title>
	<atom:link href="http://www.ryancoughlin.com/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ryancoughlin.com</link>
	<description></description>
	<lastBuildDate>Fri, 26 Mar 2010 00:07:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to load data using JSON/PHP using jQuery</title>
		<link>http://www.ryancoughlin.com/2009/05/06/how-to-load-data-using-jsonphp-using-jquery/</link>
		<comments>http://www.ryancoughlin.com/2009/05/06/how-to-load-data-using-jsonphp-using-jquery/#comments</comments>
		<pubDate>Wed, 06 May 2009 16:00:53 +0000</pubDate>
		<dc:creator>Ryan Coughlin</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryancoughlin.com/?p=463</guid>
		<description><![CDATA[I have seen a good amount of people wanting to see learn how to load data on their website using jQuery, JSON, and PHP. I thought I would show a simple example that should give you a jump start to your project.
We are going to use $.getJSON() function, you have something like:
$.getJSON("readJSON.php",function(data){
    [...]


Related posts:<ol><li><a href='http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/' rel='bookmark' title='Permanent Link: Use jQuery To Submit Form To PHP/MySQL'>Use jQuery To Submit Form To PHP/MySQL</a> <small>Learn to submit a form using jQuery without a page...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/04/how-to-use-jquery-to-serialize-ajax-forms/' rel='bookmark' title='Permanent Link: How to use jQuery to Serialize Ajax Forms'>How to use jQuery to Serialize Ajax Forms</a> <small>When I first started working with jQuery and submitting forms...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/05/time-for-another-igoogle-theme/' rel='bookmark' title='Permanent Link: Time for another iGoogle theme?'>Time for another iGoogle theme?</a> <small>Thinking about making another iGoogle theme and almost done with...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I have seen a good amount of people wanting to see learn how to load data on their website using jQuery, JSON, and PHP. I thought I would show a simple example that should give you a jump start to your project.</p>
<p>We are going to use $.getJSON() function, you have something like:</p>
<pre class="js" title="code">$.getJSON("readJSON.php",function(data){
    $.each(data.posts, function(i,post){
          content = '
<div id="post-'+ post.id +'">\n';
	  content += '
<h3>' + post.author + '</h3>

\n';
	  content += '+ post.date_added + '\n';
          content += '' + post.post_content + ';
	  content += ''
<hr />';
	  $("#contents").append(content).fadeIn("slow");
   });
});</div>
</pre>
<p>And example of JSON from the PHP page could look like:</p>
<pre class="js" title="code">{ posts: [{"id":"151","date_added":"2009-05-05 13:40:34","post_content":"This is a test post. jQuery!","author":"Ryan"},
{"id":"152","date_added":"2009-05-05 13:40:55","post_content":"Hey, you got to love Ajax","author":"John"}] }</pre>
<p>That JSON above loads two records that will be displayed on to the page.</p>
<p>The results are being pulled from a MySQL database with tables: <em>id, author, post_content, date_added, and author.</em></p>
<p>I am going to wrap up and article on the jQuery/PHP/JSON comment form with the results loaded on to the page after form submission, stay tuned for a much more in depth explanation of using JSON with PHP and  jQuery.</p>


<p>Related posts:<ol><li><a href='http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/' rel='bookmark' title='Permanent Link: Use jQuery To Submit Form To PHP/MySQL'>Use jQuery To Submit Form To PHP/MySQL</a> <small>Learn to submit a form using jQuery without a page...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/04/how-to-use-jquery-to-serialize-ajax-forms/' rel='bookmark' title='Permanent Link: How to use jQuery to Serialize Ajax Forms'>How to use jQuery to Serialize Ajax Forms</a> <small>When I first started working with jQuery and submitting forms...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/05/time-for-another-igoogle-theme/' rel='bookmark' title='Permanent Link: Time for another iGoogle theme?'>Time for another iGoogle theme?</a> <small>Thinking about making another iGoogle theme and almost done with...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ryancoughlin.com/2009/05/06/how-to-load-data-using-jsonphp-using-jquery/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Time for another iGoogle theme?</title>
		<link>http://www.ryancoughlin.com/2009/05/05/time-for-another-igoogle-theme/</link>
		<comments>http://www.ryancoughlin.com/2009/05/05/time-for-another-igoogle-theme/#comments</comments>
		<pubDate>Tue, 05 May 2009 17:30:43 +0000</pubDate>
		<dc:creator>Ryan Coughlin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Ranting]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[igoogle]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://www.ryancoughlin.com/?p=461</guid>
		<description><![CDATA[Thinking about making another iGoogle theme and almost done with a PHP/JSON/jQuery comment form - live updates.


Related posts:<ol><li><a href='http://www.ryancoughlin.com/2008/12/14/busybusy/' rel='bookmark' title='Permanent Link: Busy&#8230;Busy'>Busy&#8230;Busy</a> <small>Finally...the end of the semester is here, no more finals...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/04/new-layout-and-trip/' rel='bookmark' title='Permanent Link: New Layout and Trip'>New Layout and Trip</a> <small>Its been a very long time! I have been extremely...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/10/28/coroflot/' rel='bookmark' title='Permanent Link: Coroflot and New Design'>Coroflot and New Design</a> <small>Just added some more work to my Coroflot.com portfolio and...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>So i came across my <a href="http://www.google.com/ig/directory?hl=en&amp;type=themes&amp;url=landscape-google-theme.googlecode.com/svn/trunk/google-theme/landscape-theme.xml" target="_blank">old iGoogle theme</a> I made in the fall and was thinking of making another one. Shockingly, they&#8217;re extremely easy to create. Its a large XML document.  I have been working on a <a href="http://ryancoughlin.com/nightday/" target="_self">new layout</a> for my site. I was thinking of another landscape but similar to the landscape, but different style.<br />
<a href="http://www.ryancoughlin.com/wp-content/uploads/2009/05/skin_fetch.jpg"><img src="http://www.ryancoughlin.com/wp-content/uploads/2009/05/skin_fetch-300x57.jpg" alt="Summer Landscape - iGoogle Theme" title="Summer Landscape - iGoogle Thehe" width="300" height="57" class="aligncenter size-medium wp-image-466" /></a></p>
<p>I am trying to free my schedule from client work to start working on the new layout, stil need to work on the move right text, bottom posts boxes, colors, and what the single page is going to look like, all in all its a work in progress. Almost done with a jQuery tutorial on submitting a  comment form and having the results loaded using jQuery/Ajax. The comments on the page are loading using PHP, JSON, and jQuery, very slick. Expect that very soon.</p>


<p>Related posts:<ol><li><a href='http://www.ryancoughlin.com/2008/12/14/busybusy/' rel='bookmark' title='Permanent Link: Busy&#8230;Busy'>Busy&#8230;Busy</a> <small>Finally...the end of the semester is here, no more finals...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/04/new-layout-and-trip/' rel='bookmark' title='Permanent Link: New Layout and Trip'>New Layout and Trip</a> <small>Its been a very long time! I have been extremely...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/10/28/coroflot/' rel='bookmark' title='Permanent Link: Coroflot and New Design'>Coroflot and New Design</a> <small>Just added some more work to my Coroflot.com portfolio and...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ryancoughlin.com/2009/05/05/time-for-another-igoogle-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use jQuery to Serialize Ajax Forms</title>
		<link>http://www.ryancoughlin.com/2009/05/04/how-to-use-jquery-to-serialize-ajax-forms/</link>
		<comments>http://www.ryancoughlin.com/2009/05/04/how-to-use-jquery-to-serialize-ajax-forms/#comments</comments>
		<pubDate>Mon, 04 May 2009 15:17:08 +0000</pubDate>
		<dc:creator>Ryan Coughlin</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[serialize]]></category>

		<guid isPermaLink="false">http://www.ryancoughlin.com/?p=455</guid>
		<description><![CDATA[When I first started working with jQuery and submitting forms via Ajax, I&#8217;ve never really used .serialize() and wasn&#8217;t too familiar with it. I started to look in to how it works and what it can do. It can be a huge time saver, especially for larger forms.
Instead of declaring all of your data to [...]


Related posts:<ol><li><a href='http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/' rel='bookmark' title='Permanent Link: Use jQuery To Submit Form To PHP/MySQL'>Use jQuery To Submit Form To PHP/MySQL</a> <small>Learn to submit a form using jQuery without a page...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/06/how-to-load-data-using-jsonphp-using-jquery/' rel='bookmark' title='Permanent Link: How to load data using JSON/PHP using jQuery'>How to load data using JSON/PHP using jQuery</a> <small>I have seen a good amount of people wanting to...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/12/20/jquery-search-and-highlight/' rel='bookmark' title='Permanent Link: jQuery Search And Highlight'>jQuery Search And Highlight</a> <small>Work with the jQuery framework to create a fast Ajax...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>When I first started working with jQuery and submitting forms via Ajax, I&#8217;ve never really used .serialize() and wasn&#8217;t too familiar with it. I started to look in to how it works and what it can do. It can be a huge time saver, especially for larger forms.</p>
<p>Instead of declaring all of your data to be sent using something like:</p>
<pre class="js" title="code">
var fname     = $('#fname').attr('value');
var lname     = $('#lname').attr('value');
$.ajax({
     data: “fname=”+ fname + “&amp; lname=” + lname,
});
</pre>
<p>For a couple of fields above, that is fine, but what if you were creating a form with a large amount of fields. The last thing you would want to do is want to copy/paste that line 20 times for your field. Instead of grabbing each value of each form field we can use jQuery&#8217;s .serialize() to do the dirty work for us, which is a huge time saver. We can use something like:</p>
<pre class="js" title="code">
$(function() {
     $('form').bind('submit',function() { showValues(); return false; });
});
function showValues() {
     var str = $("form").serialize();
     $(".results-box").fadeIn();
     $(".results").text(str);
}
</pre>
<p>The first section binds the submit to a function. When a user submits the form call the function showValues(), the next bit. We grab the form and attach .serialize() to it. We want to serialize all fields within this form and display what data is going to be sent to the sever. A <a href="http://www.ryancoughlin.com/demos/serialize/jquery.serialize.html" target="_blank">working demo</a> has been uploaded.</p>
<p>Now with our data serialized it is ready to be sent over to the server side. Using jQuery .serialize() is much more effiecient compared to retrieving the value using .val().</p>


<p>Related posts:<ol><li><a href='http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/' rel='bookmark' title='Permanent Link: Use jQuery To Submit Form To PHP/MySQL'>Use jQuery To Submit Form To PHP/MySQL</a> <small>Learn to submit a form using jQuery without a page...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/06/how-to-load-data-using-jsonphp-using-jquery/' rel='bookmark' title='Permanent Link: How to load data using JSON/PHP using jQuery'>How to load data using JSON/PHP using jQuery</a> <small>I have seen a good amount of people wanting to...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/12/20/jquery-search-and-highlight/' rel='bookmark' title='Permanent Link: jQuery Search And Highlight'>jQuery Search And Highlight</a> <small>Work with the jQuery framework to create a fast Ajax...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ryancoughlin.com/2009/05/04/how-to-use-jquery-to-serialize-ajax-forms/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Combining Selectables And Draggables Using jQuery UI</title>
		<link>http://www.ryancoughlin.com/2008/11/23/combining-selectables-and-draggables-using-jquery-ui/</link>
		<comments>http://www.ryancoughlin.com/2008/11/23/combining-selectables-and-draggables-using-jquery-ui/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 19:59:36 +0000</pubDate>
		<dc:creator>Ryan Coughlin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[combining]]></category>
		<category><![CDATA[draggable]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[selectable]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://www.ryancoughlin.com/?p=258</guid>
		<description><![CDATA[Learn how to work with both selectable and draggable with the jQuery UI to select and drag numerous elements around a web page. Great for Web 2.0 applications.


Related posts:<ol><li><a href='http://www.ryancoughlin.com/2009/01/22/jquery-timeout-function/' rel='bookmark' title='Permanent Link: jQuery Timeout Function'>jQuery Timeout Function</a> <small>A neat and simple way to creating a jQuery function...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/11/04/using-the-jquery-ui-slider/' rel='bookmark' title='Permanent Link: Using the jQuery UI Slider'>Using the jQuery UI Slider</a> <small>Utilize the jQuery UI Slider to change CSS properties or...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/12/20/jquery-search-and-highlight/' rel='bookmark' title='Permanent Link: jQuery Search And Highlight'>jQuery Search And Highlight</a> <small>Work with the jQuery framework to create a fast Ajax...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>There are two powerful and fun elements that the jQuery UI provides. When both of them work together you will be able to come up with some creative web application uses for them. The two I am going to be covering are:</p>
<ul>
<li><strong>UI Selectable</strong> &#8211; <a href="http://dev.jquery.com/view/tags/ui/1.5b2/demos/ui.selectable.html" target="_blank">Demo</a> &#8211; <a href="http://docs.jquery.com/UI/Draggables" target="_blank">Documentation</a></li>
<li><strong>UI Draggable</strong> &#8211; <a href="http://dev.jquery.com/view/tags/ui/1.5b2/demos/ui.draggable.html" target="_blank">Demo</a> &#8211; <a href="http://docs.jquery.com/UI/Draggables" target="_blank">Documentation</a></li>
</ul>
<p><span class="highlight">I am sure you all want to see what the final product will look like, <a title="View the final demo using selectables and draggables" href="http://www.ryancoughlin.com/demos/dragselect/index.html" target="_blank">check it out</a>.</span></p>
<p><span id="more-258"></span></p>
<p>To start working with the jQuery UI you are going to need to add the following files to the head of your document:</p>
<ul>
<li><strong>jquery-1.2.6.min.js</strong> &#8211; <em>the main core jquery framework</em></li>
<li><strong>ui.core.js</strong> &#8211; <em>the UI core javascript</em></li>
<li><strong>ui.draggable.js </strong>- <em>the draggable javascript</em></li>
<li><strong>ui.selectable.js</strong> &#8211; <em>the selectable javascript</em></li>
</ul>
<p>Before we get started let me just say, <span class="highlight">thanks a ton to Richard Worth who has helped develop the jQuery UI and provided a ton of help to me last year trying to get this to work, and boom here is the working copy, you can find Richards blog <a href="http://rdworth.org/blog/" target="_blank">here</a>.</span></p>
<p>The jQuery UI adds classes for different mouse events, for instance:</p>
<ul>
<li><strong>jQuery UI Draggable</strong>
<ul>
<li><strong>.ui-draggable</strong> &#8211; <em>the class it adds you when create the draggable(); object</em></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>.ui-draggable</strong></span></span><strong><span style="color: #000000;">-</span></strong><strong><span style="color: #000000;">dragging </span></strong><em>- the class it adds when you are dragging the object around the page</em></li>
</ul>
</li>
<li><strong>jQuery UI Selectable</strong>
<ul>
<li><strong>.ui-selectee<span style="color: #000000;"> </span></strong><strong><span style="color: #000000;">- </span></strong><em>the class it adds when you create the selectable(); object</em></li>
<li><strong>.ui-selectable</strong> &#8211; <em>the class it adds when you select the object</em></li>
<li><strong>.ui-selecting</strong><em> &#8211; the class it adds when you click and start to create the bounding box around the elements you wish to select, once you let go, it becomes <strong>.ui-selectable</strong></em></li>
</ul>
</li>
</ul>
<p>That is the basic structure how how the jQuery UI draggable and selectable generates classes to manipulate change for each action.</p>
<p>I am going to be using console.log(); to report what the code is doing after different steps throughout the page. Make sure you have <a title="Get FireBug!" href="https://addons.mozilla.org/en-US/firefox/addon/1843" target="_blank">Firebug</a> installed if you are on Firefox. If you are unsure what console.log() does view the <a href="http://getfirebug.com/console.html" target="_blank">documentation</a>. Be sure that if you use this technique in a real world example, remove the console.log() functions to decrease page loading time. This neat little function allows us to see what our code is doing, we can call:</p>
<pre lang="javascript">console.log(variable);</pre>
<p>When we open up the page and open Firebug, it will print out what the variable contains, it is a great tool for debugging, keep it handy.</p>
<p>Now that we have the understanding on how it works with different classes, lets start looking at the code that makes it work. I have commented it to make it easier for you to translate on your own time.</p>
<p><strong>The first bits of the code</strong></p>
<pre lang="javascript">// creates the selected variable
// we are going to be storing the selected objects in here
var selected = $([]), offset = {top:0, left:0};
console.log("This is the value of selected when it is created " +selected + "");</pre>
<p>As you can see from above, our first line creates the variable selected and is able to store numerous values because we are setting up an array for this variable. And the offset, resets the top and left values. If you use console.log it will output: <span class="highlight">Object length=0 prevObject=Object jquery=1.2.6</span> notice the length is 0 that is fine we haven&#8217;t selected any items yet.</p>
<pre lang="javascript">// initiate the selectable id to be recognized by UI
$("#selectable1").selectable();</pre>
<p>This part above, calls the selectable to generate the selectable region. <strong>NOTE:</strong> that #selectable is container and is the box not each element we are selecting.</p>
<p>The following part is important because, this is the where we start to hook up selectables with the draggables.</p>
<pre lang="javascript">// declare draggable UI and what we are going to be doing on start
$("#selectable1 div").draggable({
     start: function(ev, ui) {
          $(this).is(".ui-selected") || $(".ui-selected").removeClass("ui-selected");
	  console.log("The value of 'this' currently is: "+this);
          selected = $(".ui-selected").each(function() {
               var el = $(this);
	       el.data("offset", el.offset());
	       $(this).text("Selected and dragging object(s)");
	  });
console.log(selected);
offset = $(this).offset();
},</pre>
<p>The part below, tells the draggable UI to create every element within to have dragging.</p>
<div>
<div id="selectable">
<pre lang="javascript">$("#selectable1 div").draggable({</pre>
<pre lang="javascript">$(this).is(".ui-selected") || $(".ui-selected").removeClass("ui-selected");
console.log("The value of 'this' currently is: "+this);</pre>
<p>This next section above resets the select and drag, by removing the ui-selected class, when we output using console.log, to see the value of this is <span class="highlight">The value of &#8216;this&#8217; currently is: [object HTMLDivElement]</span>.</p>
<pre lang="javascript">selected = $(".ui-selected").each(function() {
     var el = $(this);
     console.log("The value of el is: "+el);
     el.data("offset", el.offset());
     $(this).text("Selected and dragging object(s)");
});</pre>
<p>Now we are finally working with the selected variable we created at the start of this, we are to run through each element with the class of ui-selected. We are going to be storing the value of $(this) in the variable el, to make it easier to call and to work with the offset(); property later on.</p>
<pre lang="javascript">el.data("offset", el.offset());
$(this).text("Selected and dragging object(s)");</pre>
<p>We are going back to out el variable and working with the <a href="http://docs.jquery.com/Internals/jQuery.data">data object</a> and the <a href="http://docs.jquery.com/CSS/offset">offset object</a>. The offset object returns two integer values: <span class="highlight">top and right</span>. The definition of the offset(); from the jQuery documentation is: <span class="highlight">Get the current offset of the first matched element relative to the view port.</span></p>
<p>The other line, changes the text of the elements to let us know that we have selected and are now dragging the objects stored in the variable selected.</p>
<p>Now that we have called offset we want to store it in the variable offset, for each DOM elements selected. The code that follows this part is below:</p>
<pre lang="javascript">console.log("The new value of selected is now "+selected);
offset = $(this).offset();
console.log("The value of top value is "+offset.top+" and the left value is "+offset.left);</pre>
<p>We have another console.log() to print out the selected value and it is storing the DOM element. Next we create the variable offset and store the offset() of the elements, I have printed the top and left values using console.log() above, the output is similar to: <span class="highlight">The value of top value is 207 and the left value is 672</span>.</p>
<p>The next section below is the section of code that handles what is going to go on while we are dragging our selected elements. This part is also very important because we are bringing back the values of offset with the current values of the draggable ui, it stores the ui properties in ui.position.top and ui.position.left. Further down the code we will use the offset values to update the CSS top and left properties of the selected elements.</p>
<pre lang="javascript">drag: function(ev, ui) {
     var dt = ui.position.top - offset.top, dl = ui.position.left - offset.left;
     console.log("The value of dt is "+dt);
     selected.not(this).each(function() {
          var el = $(this), off = el.data("offset");
          el.css({top: off.top + dt, left: off.left + dl});
     });
},</pre>
<p>We are creating the variable dt on the second line there and this value is equal to <span class="highlight">ui.position.top &#8211; offset.top</span> and we are also creating the variable dl that is <span class="highlight">dl = ui.position.left &#8211; offset.left</span>. So we have:</p>
<ul>
<li><strong>var dl</strong> &#8211; <em>working with the x axis or the left coordinates</em></li>
<li><strong>var dt</strong> &#8211; <em>working with the y axis or the top coordinates</em></li>
</ul>
<p>Lets add a console.log to see what these values are before we do the math. Add the following code to see what our variables and math are doing:</p>
<pre lang="javascript">console.log("The value of dt is "+dt+" and is equal to "+ui.position.top+" - "+offset.top);
console.log("The value of dl is "+dl+" and is equal to "+ui.position.left+" - "+offset.left);
console.log("The value of ui.position.top is "+ui.position.top);
console.log("The value of ui.position.left is "+ui.position.left);
console.log("The value of offset.left is "+offset.top);
console.log("The value of offset.left is "+offset.left);</pre>
<p>When you run the code the console.log() outputs the following:</p>
<pre lang="javascript">The value of dt is 37 and is equal to 237 - 200
The value of dl is 152 and is equal to 352 - 200
The value of ui.position.top is 237
The value of ui.position.left is 352
The value of offset.top is 200
The value of offset.left is 200</pre>
<p>Notice what the code is printing out, it is taking the ui.position.top and subtracting the value of offset.top and giving us the difference to equal variable dt. We do this math so we can update the top and left CSS properties in the next section of code, if we didn&#8217;t do this math, we would select and drag our elements and they would move sporadically on the page.</p></div>
</div>
<p>Next we are going to cover the other each function that loops through each of the selected elements expect $(&#8221;this&#8221;):</p>
<pre lang="javascript">// take all the elements that are selected expect $("this"), which is the element being dragged and loop through each.
selected.not(this).each(function() {
     // create the variable for we don't need to keep calling $("this")
     // el = current element we are on
     // off = what position was this element at when it was selected, before drag
     var el = $(this), off = el.data("offset");
     el.css({top: off.top + dt, left: off.left + dl});
});</pre>
<p>So we have the last big piece of code to make this script work. Like I said, you have the each function that runs through each element expect $(&#8221;this&#8221;), then we create two variables:</p>
<ul>
<li><strong>el</strong> &#8211; <em>which is the current element we are on</em></li>
<li><strong>off</strong> &#8211; <em>which is the position of the elements when they were selected, before any type of movement and drag</em></li>
</ul>
<p>The last segment: we are going to be adding or subtracting (we will subtract if the dt or dl is negative). The dl stands for delta left and dt stands for delta top. For instance lets set something up:</p>
<p><span class="highlight">The current element we are on start at the coordinates: 10, 30, now we drag that to: 8, 15. Now lets run the math, the new position of the element is: 2, 15. Say, you drag it again, it runs the loop once again, and the off will be 2, 15 and the new value will be wherever the new coordinates are subtract the total delta from when the drag started until now, not just the last mouse movement.</span></p>
<p>Now that we did the math and we have captured the new value, update it is the css property and plug in the top and left coordinates.</p>
<p>So what did you think of it? Pretty interesting effect when you combine both of those UI elements to create select and drag. Share your thoughts and make sure to bookmark using the button below. Any improvements? Contact me.</p>
<p>Enjoy!</p>


<p>Related posts:<ol><li><a href='http://www.ryancoughlin.com/2009/01/22/jquery-timeout-function/' rel='bookmark' title='Permanent Link: jQuery Timeout Function'>jQuery Timeout Function</a> <small>A neat and simple way to creating a jQuery function...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/11/04/using-the-jquery-ui-slider/' rel='bookmark' title='Permanent Link: Using the jQuery UI Slider'>Using the jQuery UI Slider</a> <small>Utilize the jQuery UI Slider to change CSS properties or...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/12/20/jquery-search-and-highlight/' rel='bookmark' title='Permanent Link: jQuery Search And Highlight'>jQuery Search And Highlight</a> <small>Work with the jQuery framework to create a fast Ajax...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ryancoughlin.com/2008/11/23/combining-selectables-and-draggables-using-jquery-ui/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Two Panel Slick Drop Down Using jQuery</title>
		<link>http://www.ryancoughlin.com/2008/11/16/two-panel-slick-drop-down-using-jquery/</link>
		<comments>http://www.ryancoughlin.com/2008/11/16/two-panel-slick-drop-down-using-jquery/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 19:53:40 +0000</pubDate>
		<dc:creator>Ryan Coughlin</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[drop down]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[panels]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.ryancoughlin.com/?p=205</guid>
		<description><![CDATA[Publish a great looking two panel drop down with animations and content using the powerful jQuery framework. Fully customizable


Related posts:<ol><li><a href='http://www.ryancoughlin.com/2008/11/04/using-the-jquery-ui-slider/' rel='bookmark' title='Permanent Link: Using the jQuery UI Slider'>Using the jQuery UI Slider</a> <small>Utilize the jQuery UI Slider to change CSS properties or...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/01/22/jquery-timeout-function/' rel='bookmark' title='Permanent Link: jQuery Timeout Function'>jQuery Timeout Function</a> <small>A neat and simple way to creating a jQuery function...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/06/how-to-load-data-using-jsonphp-using-jquery/' rel='bookmark' title='Permanent Link: How to load data using JSON/PHP using jQuery'>How to load data using JSON/PHP using jQuery</a> <small>I have seen a good amount of people wanting to...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div  class="notice"><strong>UPDATE:</strong> I have updated the code and the post here, I have optimized and narrowed down the number of lines, the new demo is up and running.</div>
<p>I use to use something similar to this on my older site to bring down content and a contact form on one side using jQuery, then about a year later I was thinking why not bring it back up, change some styles, and write a post for others to use. The concept is pretty simple.</p>
<p><a href="http://www.ryancoughlin.com/wp-content/uploads/2008/11/slidepanels.jpg"><img class="aligncenter size-full wp-image-206" title="slidepanels" src="http://www.ryancoughlin.com/wp-content/uploads/2008/11/slidepanels.jpg" alt="" width="381" height="197" /></a></p>
<p>When you press the selector, it will slide down panel 1, then using <strong>window.setTimeout</strong>, we will call the panel 2 to come down 100ms later, just enough of a delay where we get a nice effect. Once the panels slide down, the content within are faded in using <strong>fadeIn();</strong> To close the panels we call a <strong>closePanels(</strong>) that does the opposite effect when it is sliding down.</p>
<p><span id="more-205"></span></p>
<p>The items/events/functions that are used in this article are:</p>
<ul>
<li><a href="http://docs.jquery.com/Events/click" target="_blank">.click()</a></li>
<li><a href="http://docs.jquery.com/Effects/animate" target="_blank">.animiate()</a></li>
<li><a href="http://docs.jquery.com/Effects/fadeIn#speedcallback" target="_blank">.fadeIn()</a></li>
<li><a href="http://docs.jquery.com/Effects/fadeOut#speedcallback" target="_blank">.fadeOut()</a></li>
<li><a href="https://developer.mozilla.org/en/DOM/window.setTimeout" target="_blank">window.setTimeout(function(){},100)</a></li>
</ul>
<p>Check out the <a href="http://www.ryancoughlin.com/demos/slide/index.html" target="_blank">demo</a> to see what the final product will look like.</p>
<p>To make a note, I am using <a href="http://www.blueprintcss.org" target="_blank">Blueprint CSS</a> for the basic styles of the website, for the demo page. If you download Blueprint and link up the styles, then your layout, should appear as in the demo.</p>
<p><strong>Lets start with the HTML:</strong></p>
<pre lang="html4strict">
<div class="container">
<div class="span-24">
<h1>
                         Welcome to my site!
                    </h1>
<hr />
<div class="span-7 colborder">


                              Lorem ipsum dolor sit amet, consectetur adipisicing elit,
                              sed do eiusmod tempor incididunt ut labore et dolore magna
                              aliqua. Ut enim ad minim veniam, quis nostrud exercitation
                              ullamco laboris nisi ut aliquip ex ea commodo consequat.
                              Duis aute irure dolor in reprehenderit in voluptate velit
                              esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
                              occaecat cupidatat non proident, sunt in culpa qui officia
                              deserunt mollit anim id est laborum.
                         
</div>
<div class="span-7 colborder">


                              Lorem ipsum dolor sit amet, consectetur adipisicing elit,
                              sed do eiusmod tempor incididunt ut labore et dolore magna
                              aliqua. Ut enim ad minim veniam, quis nostrud exercitation
                              ullamco laboris nisi ut aliquip ex ea commodo consequat.
                              Duis aute irure dolor in reprehenderit in voluptate velit
                              esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
                              occaecat cupidatat non proident, sunt in culpa qui officia
                              deserunt mollit anim id est laborum.
                         
</div>
<div class="span-7 last">


                              Lorem ipsum dolor sit amet, consectetur adipisicing elit,
                              sed do eiusmod tempor incididunt ut labore et dolore magna
                              aliqua. Ut enim ad minim veniam, quis nostrud exercitation
                              ullamco laboris nisi ut aliquip ex ea commodo consequat.
                              Duis aute irure dolor in reprehenderit in voluptate velit
                              esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
                              occaecat cupidatat non proident, sunt in culpa qui officia
                              deserunt mollit anim id est laborum.
                         
</div>
<hr />
<h3>
                         Click the panels to close.
                    </h3>
</div>
<div id="panel-wrapper">
<div class="panel-1">
<div class="panel-contents">
<h2>Panel 1</h2>
<form id="mail" action="#" method="post" name="mail">
	                              <label>Name:</label>
<input type="text" name="name" size="25" />
	                              <label>E-Mail:</label>
<input type="text" name="email" size="25" />
	                              <label>Website:</label>
<input type="text" name="website" size="25" />
	                              <label>Comments:</label>
	                              <textarea name="comments" rows="3" cols="3">
	</textarea>
<input type="submit" name="submit" value="Send" />
	                         </form>
</div>
</div>
<div class="panel-2">
<div class="panel-contents">
<h2>Panel 2</h2>


	                              Lorem ipsum dolor sit amet, consectetur adipisicing elit,
	                              sed do eiusmod tempor incididunt ut labore et dolore magna
	                              aliqua. Ut enim ad minim veniam, quis nostrud exercitation
	                              ullamco laboris nisi ut aliquip ex ea commodo consequat.
	                              Duis aute irure dolor in reprehenderit in voluptate velit
	                              esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
	                              occaecat cupidatat non proident, sunt in culpa qui officia
	                              deserunt mollit anim id est laborum.
	                         
</div>
</div>
</div>

<!-- end #panel-wrapper-->
<div class="span-15"><button class="open">Open</button></div>
</div>
</pre>
<p>You can see the basic structure, a three column layout with dummy text as a place holder and we have the button down at the bottom left. And of course you are able to change this to whatever you want. Thought it would be the simplest way to approach it for the article.</p>
<p>Besides the dummy text, we have a base setup with a wrapper called <strong>#panel-wrapper</strong>, which surrounds both panels. Within that element we have <strong>.panel-1 and .panel-2</strong>. Then is the inner element that is in place in order to fade in the contents of the panels, if we told the jQuery to fadeIn() <strong>.panel-1/.panel-2</strong>, then it would animate down, blink, then fade in the box. Using this other wrapper, we tell it to just fadeIn() the <strong>.panel-contents</strong>.</p>
<p>There you have the basic HTML structure of the panels, now time for the goodies! Lets take our first look at the block of jQuery we are going to be looking at.</p>
<p><strong>The code to make it dance:</strong></p>
<pre lang="javascript">
/* <![CDATA[ */
$(document).ready(function(){
	// click to draw contact form
	$('.open').click(function(){
		// open .panel-1 to 500px then shrink back fast to 425px
		$("div.panel-1").animate({height: "500px"}).animate({height: "425px" }, "fast");

		// using window.setTimeout to delay .panel-2 for 100 ms
		window.setTimeout(function(){
			// open .panel-2 300 ms later to 550px then shrink back fast to 425px
			$("div.panel-2").animate({ height: "550px" }) .animate({
			height: "425px" }, "fast",
			// after both panels are down, fade in .panel-contents
			function(){$("div.panel-contents").fadeIn("slow");});
		}, 100);
	});

	// this function closes the panels and is loaded in the click function below
	function closePanels(){
		// extend panel-1 to 520px then send it up, to hide
		$("div.panel-1").animate({height: "520px"}).animate({height: "0px",top:"0px"}, "fast", function(){$(this).hide();});
		// using window.setTimeout to delay .panel-2 for 100 ms
		window.setTimeout(function(){
		// extend panel-2 to 550px then shoot it up
		$("div.panel-2").animate({height: "550px"}).animate({height: "0px",top:"0px"}, "fast", function(){$(this).hide();});
		}, 100);
	} // end closePanels() function

	// on click fadeOut content then call closePanels() to send them up
	$('div.panel-1, div.panel-2').click(function(){
		$('div.panel-contents').fadeOut("fast",closePanels());
	});
});
/* ]]&gt; */
</pre>
<p><strong>The Structure Outline</strong><br />
<em>A quick over view of the structure looks something like this:</em></p>
<ul>
<li>.click() to open panels</li>
<li>animate .panel-1</li>
<li>window.setTimeout() and animate .panel-2 (execute 100ms after executing .panel-1</li>
<li>fadeIn() contents of panel</li>
<li>function closePanels() handles the code to close the panels and do the opposite effect when they slide down</li>
<li>.fadeOut() to fade out text</li>
<li>.click() to close panels</li>
</ul>
<p>I have commented the code to make this easier to understand, thought this approach would help, going line by line and if you&#8217;re familiar with jQuery you should be right on target.</p>
<p>Code to build this is pretty repetitive and we see this line a great deal:</p>
<pre lang="javascript">// open .panel-1 to 500px then shrink back fast to 425px
$("div.panel-1").animate({height: "500px"}).animate({height: "425px" }, "fast")</pre>
<p>It does just what the comment says, this gives us the quick &#8220;bounce&#8221; effect. When we open the panels it animates to 500px then back to 425px quickly, and stops at 425px. And the same thing with .panel-2, animates down to 550px, then shoots back up quickly to 425px. Thank you to jQuery and its able to chain, makes this very easy to accomplish.</p>
<p>Inside the closePanels() function, we have the opposite effect as above, we have:</p>
<pre lang="javascript">$("div.panel-1").animate({height: "520px"}).animate({height: "0px",top:"-30px"}, "fast");</pre>
<p>This extends the height to 520px, then shoots it up to 0px for the new height and adjust it to the -30px position to the top. To have the element display off the page.</p>
<p>So all and all, there you have it a simple two panel drop down using jQuery selectors, effects, and functions to create a sleek effect. If you have any questions, leave a comment, and if you like this make sure to bookmark to delicious.</p>
<p>Your voice? What do you think, if I can improve it in anyway, let me know. If you want, please <a href="http://feeds.feedburner.com/ryancoughlin">subscribe</a> and stay in touch with the latest</p>


<p>Related posts:<ol><li><a href='http://www.ryancoughlin.com/2008/11/04/using-the-jquery-ui-slider/' rel='bookmark' title='Permanent Link: Using the jQuery UI Slider'>Using the jQuery UI Slider</a> <small>Utilize the jQuery UI Slider to change CSS properties or...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/01/22/jquery-timeout-function/' rel='bookmark' title='Permanent Link: jQuery Timeout Function'>jQuery Timeout Function</a> <small>A neat and simple way to creating a jQuery function...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/06/how-to-load-data-using-jsonphp-using-jquery/' rel='bookmark' title='Permanent Link: How to load data using JSON/PHP using jQuery'>How to load data using JSON/PHP using jQuery</a> <small>I have seen a good amount of people wanting to...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ryancoughlin.com/2008/11/16/two-panel-slick-drop-down-using-jquery/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Use jQuery To Submit Form To PHP/MySQL</title>
		<link>http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/</link>
		<comments>http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 17:27:15 +0000</pubDate>
		<dc:creator>Ryan Coughlin</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ryancoughlin.com/?p=94</guid>
		<description><![CDATA[Learn to submit a form using jQuery without a page refresh and a success callback with the fadeIn() animation. Simple, crisp, and fun.


Related posts:<ol><li><a href='http://www.ryancoughlin.com/2009/05/04/how-to-use-jquery-to-serialize-ajax-forms/' rel='bookmark' title='Permanent Link: How to use jQuery to Serialize Ajax Forms'>How to use jQuery to Serialize Ajax Forms</a> <small>When I first started working with jQuery and submitting forms...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/06/how-to-load-data-using-jsonphp-using-jquery/' rel='bookmark' title='Permanent Link: How to load data using JSON/PHP using jQuery'>How to load data using JSON/PHP using jQuery</a> <small>I have seen a good amount of people wanting to...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/12/20/jquery-search-and-highlight/' rel='bookmark' title='Permanent Link: jQuery Search And Highlight'>jQuery Search And Highlight</a> <small>Work with the jQuery framework to create a fast Ajax...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Using jQuery to submit a form, is something you are seeing more and more of as jQuery&#8217;s popularity builds. When I first started reading about jQuery and Ajax all I wanted to do was learn how to submit a form using jQuery.</p>
<p>I was so confused and lost, seeing the code was so abstract to me. So in this tutorial, I want to show you how to use the jQuery framework to submit data through a form using jQuery to a PHP page that submits to a database.</p>
<p>We are going to take form data and submit it to a jQuery Ajax call then send that to a PHP page with the data. Check out a <a href="http://www.ryancoughlin.com/demos/ajaxform/index.html" target="_blank">live example</a> of this post.<br />
<span id="more-94"></span></p>
<h3>YOU SHOULD HAVE AN IDEA OF</h3>
<ul>
<li>Some principles of PHP</li>
<li>Basic knowledge of JavaScript and/or <a href="http://www.jquery.com" target="_blank">jQuery framework</a></li>
<li>MySQL</li>
<li>XHTML to build the form</li>
</ul>
<h3>JQUERY FUNCTIONS</h3>
<ul>
<li>submit() &#8211; <a href="http://docs.jquery.com/Events/submit" target="_blank">documentation </a></li>
<li>jQuery.ajax &#8211; <a href="http://docs.jquery.com/Ajax/jQuery.ajax#options" target="_blank">documentation </a></li>
</ul>
<h3>XHTML OUTLINE</h3>
<pre title="code" class="xhtml">
<div class="container">
<form id="submit" method="post">
		<fieldset>
			<legend>Enter Information</legend>
			<label for="fname">Client First Name:</label>
<input id="fname" class="text" name="fname" size="20" type="text" />

			<label for="lname">Client Last Name:</label>
<input id="lname" class="text" name="lname" size="20" type="text" />

			<button class="button positive"> <img src="../images/icons/tick.png" alt="" /> Add Client </button>
		</fieldset>
	</form>
<div class="success" style="display:none;">Client has been added.</div>
</div>
</pre>
<h3>JQUERY TO COOK IT ALL</h3>
<pre title="code" class="js">
$(document).ready(function(){
	$("form#submit").submit(function() {
	// we want to store the values from the form input box, then send via ajax below
	var fname     = $('#fname').attr('value');
	var lname     = $('#lname').attr('value');
		$.ajax({
			type: "POST",
			url: "ajax.php",
			data: "fname="+ fname +"&#038; lname="+ lname,
			success: function(){
				$('form#submit').hide(function(){$('div.success').fadeIn();});

			}
		});
	return false;
	});
});
</pre>
<p><strong>We need to capture the values of the form and we do this by:</strong></p>
<pre title="code" class="js">var fname     = $('#fname').attr('value');</pre>
<p>We are storing it in the variable called &#8220;fname&#8221; and we are taking it from the input field with the id of &#8220;fname&#8221; and the &#8220;.attr(&#8217;value&#8217;) tells jQuery to take the value from the attribute of the value from the input field.</p>
<p>The next section is the bulk of the code.  jQuery makes it very nice and easy to create Ajax calls. As you see, we have type, url, data, and success. These are pretty self explanatory.</p>
<ul>
<li>TYPE &#8211; Are you going to use POST or GET</li>
<li>URL &#8211; What is the URL you are sending the data to</li>
<li>DATA &#8211; The data that you are sending the the URL to be processed</li>
<li>SUCCESS &#8211; What should the function do after the call has been executed</li>
</ul>
<p>Remember that all of these are explained at the jQuery page, you can find the documentation for the Ajax calls <a href="http://docs.jquery.com/Ajax/jQuery.ajax#options" target="_blank">here</a>.  There is a slew of options you can run within this one jQuery.ajax() function.</p>
<p>The success part:</p>
<pre title="code" class="js">
success: function(){
     $('form#submit').hide(function(){$('div.success').fadeIn();});
}
</pre>
<p>Once the form is successfully submitted, the form will hide and thanks to jQuery callbacks, we then show the success message.</p>
<h3>THE BACKEND &#8211; AJAX.PHP</h3>
<p>Below is what our ajax.php file will look like, this will carry out the submission. Save this as ajax.php.</p>
<pre title="code" class="php">
&lt;?php

	include ("../../inc/config.inc.php");

	// CLIENT INFORMATION
	$fname        = htmlspecialchars(trim($_POST['fname']));
	$lname        = htmlspecialchars(trim($_POST['lname']));

    $addClient  = "INSERT INTO clients (fname,lname) VALUES ('$fname','$lname')";
    mysql_query($addClient) or die(mysql_error());

?&gt;
</pre>
<p>There you have it, a straight forward guide to to using jQuery, PHP, and a simple HTML form to submit a form. Hopefully this will be a help to users new to the jQuery/Ajax world! If you have any comments or questions get in touch with me, by emailing me or leaving a comment below.</p>


<p>Related posts:<ol><li><a href='http://www.ryancoughlin.com/2009/05/04/how-to-use-jquery-to-serialize-ajax-forms/' rel='bookmark' title='Permanent Link: How to use jQuery to Serialize Ajax Forms'>How to use jQuery to Serialize Ajax Forms</a> <small>When I first started working with jQuery and submitting forms...</small></li>
<li><a href='http://www.ryancoughlin.com/2009/05/06/how-to-load-data-using-jsonphp-using-jquery/' rel='bookmark' title='Permanent Link: How to load data using JSON/PHP using jQuery'>How to load data using JSON/PHP using jQuery</a> <small>I have seen a good amount of people wanting to...</small></li>
<li><a href='http://www.ryancoughlin.com/2008/12/20/jquery-search-and-highlight/' rel='bookmark' title='Permanent Link: jQuery Search And Highlight'>jQuery Search And Highlight</a> <small>Work with the jQuery framework to create a fast Ajax...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/feed/</wfw:commentRss>
		<slash:comments>114</slash:comments>
		</item>
	</channel>
</rss>
