<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Classic ASP and AJAX</title>
	<atom:link href="http://skeymedia.com/classic-asp-and-ajax-tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/</link>
	<description>Blogging about Web Development and Website Management &#38; Monetization</description>
	<lastBuildDate>Tue, 01 Jun 2010 15:36:27 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: brian</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-56780</link>
		<dc:creator>brian</dc:creator>
		<pubDate>Wed, 07 Apr 2010 06:57:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-56780</guid>
		<description>This is for XHTML compliance.  It shouldn&#039;t have any bearing on ASP parsing correctly.



&lt;code&gt;
&lt;input type=&quot;button&quot; /&gt;
&lt;/code&gt; 
is 100% valid XHTML.


&lt;code&gt;
&lt;input type=&quot;button&quot;&gt;
&lt;/code&gt; 
is not.</description>
		<content:encoded><![CDATA[<p>This is for XHTML compliance.  It shouldn&#8217;t have any bearing on ASP parsing correctly.</p>
<p><pre><code>
&lt;input type=&quot;button&quot; /&gt;
</code></pre><br />
is 100% valid XHTML.</p>
<p><pre><code>
&lt;input type=&quot;button&quot;&gt;
</code></pre><br />
is not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-56769</link>
		<dc:creator>David</dc:creator>
		<pubDate>Wed, 10 Mar 2010 21:20:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-56769</guid>
		<description>This is such a great treasure to find! I&#039;m getting into AJAX late in the game and was having a real difficult time with understanding how to get ASP data and use it with javascript, like it was a clash of two worlds. The instructions made it very clear - thanks.

One issue I found is that the closing tags for the &#039;input&#039; ASP value tags have a stray closing slash between the &#039;%&#039; and &#039;&gt;&#039;, as in:
value=&quot;&quot; 

This prevented the page from loading until corrected.</description>
		<content:encoded><![CDATA[<p>This is such a great treasure to find! I&#8217;m getting into AJAX late in the game and was having a real difficult time with understanding how to get ASP data and use it with javascript, like it was a clash of two worlds. The instructions made it very clear &#8211; thanks.</p>
<p>One issue I found is that the closing tags for the &#8216;input&#8217; ASP value tags have a stray closing slash between the &#8216;%&#8217; and &#8216;&gt;&#8217;, as in:<br />
value=&#8221;" </p>
<p>This prevented the page from loading until corrected.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Welshans</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-56724</link>
		<dc:creator>Mark Welshans</dc:creator>
		<pubDate>Tue, 22 Dec 2009 21:16:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-56724</guid>
		<description>Hi. I wanted to drop you a quick note to impart my thanks. I&#039;ve been observing your blog for a month or so and have picked up a heap of effective information as well as relished the way you&#039;ve structured your site. I am attempting to run my own blog however I think its too general and I would like to focus more on smaller topics.</description>
		<content:encoded><![CDATA[<p>Hi. I wanted to drop you a quick note to impart my thanks. I&#8217;ve been observing your blog for a month or so and have picked up a heap of effective information as well as relished the way you&#8217;ve structured your site. I am attempting to run my own blog however I think its too general and I would like to focus more on smaller topics.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julie</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-56692</link>
		<dc:creator>Julie</dc:creator>
		<pubDate>Wed, 28 Oct 2009 20:45:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-56692</guid>
		<description>Thanks for this. Our entire website is vbScript/Javascript and I have no idea when it would change. This makes all sorts of things possible for us that weren&#039;t an option using vbScript/Javascript/SQL alone.</description>
		<content:encoded><![CDATA[<p>Thanks for this. Our entire website is vbScript/Javascript and I have no idea when it would change. This makes all sorts of things possible for us that weren&#8217;t an option using vbScript/Javascript/SQL alone.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-55689</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Tue, 13 Oct 2009 03:29:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-55689</guid>
		<description>Mark, I think you&#039;re mis-using one of the technologies then.  AJAX is NOT a replacement for ASP or ANY server-side language.  It&#039;s simply the call method instead of traditional GET/POST.</description>
		<content:encoded><![CDATA[<p>Mark, I think you&#8217;re mis-using one of the technologies then.  AJAX is NOT a replacement for ASP or ANY server-side language.  It&#8217;s simply the call method instead of traditional GET/POST.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-55667</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Tue, 13 Oct 2009 00:35:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-55667</guid>
		<description>We switched from ASP to AJAX last year and we&#039;ve got lot of advantages: AJAX is quicker and more reliable than ASP.</description>
		<content:encoded><![CDATA[<p>We switched from ASP to AJAX last year and we&#8217;ve got lot of advantages: AJAX is quicker and more reliable than ASP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: brian</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-52258</link>
		<dc:creator>brian</dc:creator>
		<pubDate>Sat, 18 Jul 2009 05:09:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-52258</guid>
		<description>SQL Server and MySql are 98% similar in T-SQL structure.

The major differences are TOP vs LIMIT (ie, select top 2 from table in MSSQL vs select * from table Limit 2 in MySql), multi-phrase column name ticking (ie, backticks vs [] brackets, and group by&#039;s are not as strickt in mysql.   Other than a few other advanced techniques (triggers, etc) the syntax is very similar.

In this particular example, the only thing that would need to be changed would be to change [zipcode] to `zipcode` (note, those are back ticks, not quote marks).  You can also leave the ticks off completely as it is a single string (ie, the field name is not `zip code` with a space).</description>
		<content:encoded><![CDATA[<p>SQL Server and MySql are 98% similar in T-SQL structure.</p>
<p>The major differences are TOP vs LIMIT (ie, select top 2 from table in MSSQL vs select * from table Limit 2 in MySql), multi-phrase column name ticking (ie, backticks vs [] brackets, and group by&#8217;s are not as strickt in mysql.   Other than a few other advanced techniques (triggers, etc) the syntax is very similar.</p>
<p>In this particular example, the only thing that would need to be changed would be to change [zipcode] to `zipcode` (note, those are back ticks, not quote marks).  You can also leave the ticks off completely as it is a single string (ie, the field name is not `zip code` with a space).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AlmostBaldFromStress</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-52246</link>
		<dc:creator>AlmostBaldFromStress</dc:creator>
		<pubDate>Wed, 01 Jul 2009 23:35:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-52246</guid>
		<description>Man thanks,
I have looked all over the web from some guidance and I guess I finally entered the right keywords cause here it is. I only have one question. How much do you have to change the database call if you are using mySql instead of SQL server?</description>
		<content:encoded><![CDATA[<p>Man thanks,<br />
I have looked all over the web from some guidance and I guess I finally entered the right keywords cause here it is. I only have one question. How much do you have to change the database call if you are using mySql instead of SQL server?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Cummiskey</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-1950</link>
		<dc:creator>Brian Cummiskey</dc:creator>
		<pubDate>Wed, 25 Jul 2007 18:26:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-1950</guid>
		<description>After reviewing this post again, I&#039;ve noticed a critical flaw.   The query is subject to SQL Injection.   Please be sure you are running a RegEx or some data parsing on all your variables that are entered into a SQL query like this.

In this case for US-based 5-digit zipcodes, we should do something like this:

&lt;code&gt;
&lt;%
Function digitsonly(teststr)
	dim isValid
	dim regEx
  
	isValid = True
	set regEx = New RegExp
  
	regEx.IgnoreCase = false
  
	regEx.Pattern = &quot;^[0-9]{5}$&quot;
	isValid = regEx.Test(teststr)
  
	digitsonly = isValid
	
End Function

zipcode = request(&quot;zipcode&quot;)

if len(zipcode) = 5 then
  if digitsonly(zipcode) = false then
    response.write &quot;bad data&quot;
    response.end
  else
    &#039;do the query and the rest of the above ASP back end functions.
end if
%&gt;
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>After reviewing this post again, I&#8217;ve noticed a critical flaw.   The query is subject to SQL Injection.   Please be sure you are running a RegEx or some data parsing on all your variables that are entered into a SQL query like this.</p>
<p>In this case for US-based 5-digit zipcodes, we should do something like this:</p>
<p><pre><code>
&lt;%
Function digitsonly(teststr)
&nbsp;&nbsp;dim isValid
&nbsp;&nbsp;dim regEx
&nbsp;&nbsp;
&nbsp;&nbsp;isValid = True
&nbsp;&nbsp;set regEx = New RegExp
&nbsp;&nbsp;
&nbsp;&nbsp;regEx.IgnoreCase = false
&nbsp;&nbsp;
&nbsp;&nbsp;regEx.Pattern = &quot;^[0-9]{5}$&quot;
&nbsp;&nbsp;isValid = regEx.Test(teststr)
&nbsp;&nbsp;
&nbsp;&nbsp;digitsonly = isValid
&nbsp;&nbsp;
End Function

zipcode = request(&quot;zipcode&quot;)

if len(zipcode) = 5 then
&nbsp;&nbsp;if digitsonly(zipcode) = false then
&nbsp;&nbsp;&nbsp;&nbsp;response.write &quot;bad data&quot;
&nbsp;&nbsp;&nbsp;&nbsp;response.end
&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&#039;do the query and the rest of the above ASP back end functions.
end if
%&gt;
</code></pre></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cesar</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-1945</link>
		<dc:creator>Cesar</dc:creator>
		<pubDate>Sun, 22 Jul 2007 16:41:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-1945</guid>
		<description>Very great work my friend.  You&#039;re certainly right about one thing...barely any good documentation out there about Classic ASP and Ajax.  Thumbs up to you!!</description>
		<content:encoded><![CDATA[<p>Very great work my friend.  You&#8217;re certainly right about one thing&#8230;barely any good documentation out there about Classic ASP and Ajax.  Thumbs up to you!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gabru</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-1923</link>
		<dc:creator>gabru</dc:creator>
		<pubDate>Wed, 04 Jul 2007 07:43:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-1923</guid>
		<description>nice thing ... i thought you might be interested in an Ajax Library for classic ASP (ajaxed). Check http://www.webdevbros.net/ajaxed/
there are still guys around hacking classic ASP ;)</description>
		<content:encoded><![CDATA[<p>nice thing &#8230; i thought you might be interested in an Ajax Library for classic ASP (ajaxed). Check <a href="http://www.webdevbros.net/ajaxed/" >http://www.webdevbros.net/ajaxed/</a><br />
there are still guys around hacking classic ASP <img src='http://skeymedia.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Cummiskey</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-1095</link>
		<dc:creator>Brian Cummiskey</dc:creator>
		<pubDate>Wed, 02 May 2007 07:06:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-1095</guid>
		<description>ubigdummie,

Unfortunately this was part of an intranet project at my last company where I am no longer employed.  Thus, I don&#039;t have access to the source code.

However, I did some copy paste action and made a full page of the posted code.   This is untested as I don&#039;t have ASP or MSSQL on my blog webserver.

I have added a link to the source in the orig post.  Again, un-tested.</description>
		<content:encoded><![CDATA[<p>ubigdummie,</p>
<p>Unfortunately this was part of an intranet project at my last company where I am no longer employed.  Thus, I don&#8217;t have access to the source code.</p>
<p>However, I did some copy paste action and made a full page of the posted code.   This is untested as I don&#8217;t have ASP or MSSQL on my blog webserver.</p>
<p>I have added a link to the source in the orig post.  Again, un-tested.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ubigdummie</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-1094</link>
		<dc:creator>ubigdummie</dc:creator>
		<pubDate>Tue, 01 May 2007 04:43:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-1094</guid>
		<description>Brian, would it be possible to receive the complete source for your example here?  I learn best that way.  Thanks!</description>
		<content:encoded><![CDATA[<p>Brian, would it be possible to receive the complete source for your example here?  I learn best that way.  Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tonytee</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-798</link>
		<dc:creator>tonytee</dc:creator>
		<pubDate>Tue, 27 Mar 2007 08:29:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-798</guid>
		<description>Thanks man, I am one of the ASP classic programmer (READ: dinosaur). Your post is vert useful to me. Keep up the good job!</description>
		<content:encoded><![CDATA[<p>Thanks man, I am one of the ASP classic programmer (READ: dinosaur). Your post is vert useful to me. Keep up the good job!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Cummiskey</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-675</link>
		<dc:creator>Brian Cummiskey</dc:creator>
		<pubDate>Wed, 28 Feb 2007 03:23:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-675</guid>
		<description>yukiandrews:

The best thing to do would be to store a session variable for the zipcode on the following page.

formactionpage.asp:
&lt;code&gt;
session(&quot;zipcode&quot;) = request.form(&quot;zipcode&quot;)
&lt;/code&gt;

and in your form, pre-populate the value for the zip code:

&lt;code&gt;
&lt;input type=&quot;text&quot; name=&quot;zipcode&quot; id=&quot;zipcode&quot; value=&quot;&lt;%= session(&quot;zipcode&quot;) %&gt;&quot; /&gt;
&lt;/code&gt;

And finally, in the footer somewhere, call the javascript to iniitate the query.  Note, it&#039;s important that this JS happens AFTER the form field is populated from the session variable (thus, a window.onload call in the head section will most likely be problematic)

&lt;code&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function postload() {
  getZipcode(document.getElementById(&quot;zipcode&quot;))
}

window.onload = postload;

&lt;/code&gt;

This is un-tested and off the seat of my pants, so there may be some errors and/or typos :)

Hope this gives you some guidance.   Good luck :)</description>
		<content:encoded><![CDATA[<p>yukiandrews:</p>
<p>The best thing to do would be to store a session variable for the zipcode on the following page.</p>
<p>formactionpage.asp:<br />
<pre><code>
session(&quot;zipcode&quot;) = request.form(&quot;zipcode&quot;)
</code></pre></p>
<p>and in your form, pre-populate the value for the zip code:</p>
<p><pre><code>
&lt;input type=&quot;text&quot; name=&quot;zipcode&quot; id=&quot;zipcode&quot; value=&quot;&lt;%= session(&quot;zipcode&quot;) %&gt;&quot; /&gt;
</code></pre></p>
<p>And finally, in the footer somewhere, call the javascript to iniitate the query.  Note, it&#8217;s important that this JS happens AFTER the form field is populated from the session variable (thus, a window.onload call in the head section will most likely be problematic)</p>
<p><pre><code>
&lt;script type=&quot;text/javascript&quot;&gt;
function postload() {
&nbsp;&nbsp;getZipcode(document.getElementById(&quot;zipcode&quot;))
}

window.onload = postload;

</code></pre></p>
<p>This is un-tested and off the seat of my pants, so there may be some errors and/or typos <img src='http://skeymedia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Hope this gives you some guidance.   Good luck <img src='http://skeymedia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yukiandrews</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-674</link>
		<dc:creator>yukiandrews</dc:creator>
		<pubDate>Tue, 27 Feb 2007 18:01:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-674</guid>
		<description>beautiful and thank you
any idea how i can retain the values selected from these dropdowns on submit?
[when the user uses the browser&#039;s back button they have to start over . . .]</description>
		<content:encoded><![CDATA[<p>beautiful and thank you<br />
any idea how i can retain the values selected from these dropdowns on submit?<br />
[when the user uses the browser's back button they have to start over . . .]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kai</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-289</link>
		<dc:creator>Kai</dc:creator>
		<pubDate>Tue, 07 Nov 2006 13:29:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-289</guid>
		<description>Very impressive and works a treat. Personally I would remove line ** If Len(request(&quot;zipcode&quot;)) = 5 Then ... Else ... End If** and use LIKE in the SELECT statement, i.e.
SELECT distinct city FROM [ZipCodes] where zip like &#039;&quot;&amp; request(&quot;zipcode&quot;) &amp;&quot;%&#039;&quot;
This obviously creates more overheads but it&#039;s nice to have and see all values being updated on every keystroke. UK zipcodes are different though so it may not be useful in US.</description>
		<content:encoded><![CDATA[<p>Very impressive and works a treat. Personally I would remove line ** If Len(request(&#8220;zipcode&#8221;)) = 5 Then &#8230; Else &#8230; End If** and use LIKE in the SELECT statement, i.e.<br />
SELECT distinct city FROM [ZipCodes] where zip like &#8216;&#8221;&amp; request(&#8220;zipcode&#8221;) &amp;&#8221;%&#8217;&#8221;<br />
This obviously creates more overheads but it&#8217;s nice to have and see all values being updated on every keystroke. UK zipcodes are different though so it may not be useful in US.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ssandalow</title>
		<link>http://skeymedia.com/classic-asp-and-ajax-tutorial/comment-page-1/#comment-35</link>
		<dc:creator>ssandalow</dc:creator>
		<pubDate>Thu, 25 May 2006 16:42:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.skeymedia.com/programming/classic-asp-and-ajax/#comment-35</guid>
		<description>Good Stuff...
&lt;a&gt;Sholom Sandalow&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Good Stuff&#8230;<br />
<a>Sholom Sandalow</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
