<?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>VerySimple &#187; HTML</title>
	<atom:link href="http://verysimple.com/category/ui/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://verysimple.com</link>
	<description>Custom Software</description>
	<lastBuildDate>Tue, 15 May 2012 07:40:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>HTML Character Code Utility</title>
		<link>http://verysimple.com/2010/11/04/html-character-code-utility/</link>
		<comments>http://verysimple.com/2010/11/04/html-character-code-utility/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 04:13:09 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://verysimple.com/?p=774</guid>
		<description><![CDATA[I threw together this HTML character code utility today while searching for arrow characters. I was surprised to see that they go up almost to 60,000 and includes the alphabet for just about every language, including braille. Check it out at http://verysimple.com/content/html/ I was thinking that it would be cool to have it searchable but [...]]]></description>
			<content:encoded><![CDATA[<p>I threw together this HTML character code utility today while searching for arrow characters.  I was surprised to see that they go up almost to 60,000 and includes the alphabet for just about every language, including braille.</p>
<p>Check it out at <a href="http://verysimple.com/content/html/">http://verysimple.com/content/html/</a></p>
<p>I was thinking that it would be cool to have it searchable but I don&#8217;t see myself spending the time to index thousands of characters.  If you have any suggestions, feel free to post a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://verysimple.com/2010/11/04/html-character-code-utility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forcing Firefox to obey autocomplete=&quot;off&quot; for password fields</title>
		<link>http://verysimple.com/2007/03/07/forcing-firefox-to-obey-autocompleteoff-for-password-fields/</link>
		<comments>http://verysimple.com/2007/03/07/forcing-firefox-to-obey-autocompleteoff-for-password-fields/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 07:10:05 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.verysimple.com/blog/?p=84</guid>
		<description><![CDATA[Autocomplete is a nice feature which fills in common form fields automatically for the user. However, in some cases you don&#8217;t want this to happen.  Some examples could be an account management page where you don&#8217;t want the admin password to be auto-filled in when you are creating and managing accounts.  Another example is any [...]]]></description>
			<content:encoded><![CDATA[<p>Autocomplete is a nice feature which fills in common form fields automatically for the user.  However, in some cases you don&#8217;t want this to happen.  Some examples could be an account management page where you don&#8217;t want the admin password to be auto-filled in when you are creating and managing accounts.  Another example is any site that has a &#8220;My Account&#8221; page with a field allowing you to change your password.  Auto-complete can accidentally fill in these fields because it thinks it is a login form.</p>
<p>IE uses a non-standard attribute (autocomplete=&#8221;off&#8221;) that can be added to an entire form or one specific input control. Besides the fact that this attribute will make your HTML markup fail compliance tests, Firefox seems to consider this tag merely a &#8220;suggestion&#8221; and will disregard it at times.</p>
<p>In particular, Firefox will *always* populate certain password fields.  There is seemingly no way to tell Firefox not to fill in a field if it really wants to do so.   This can be a very bad thing if you are dealing with a user preference page or something sensitive where you don&#8217;t want autocomplete to ever occur under any circumstance.  Setting value=&#8221;" is equally worthless because Firefox seems to populate this value just after the page is rendered.</p>
<p>The following code however will work.  The concept is basially to set a timeout a fraction of a second after the page loads which clears the password field. Technically Firefox still populates the field, however this script code removes it almost instantly.  As an added bonus, because you are not using autocomplete=&#8221;off&#8221; your HTML markup should still validate.  This code should be placed at the bottom of your page beneath your form.</p>
<pre>

// this brutally clears a password field in firefox
// compliments of verysimple.com
function clearPwBox()
{
if (document.getElementById)
{
var pw = document.getElementById('MyPasswordFieldName');
if (pw != null)
{
pw.value = '';
}
}
}
window.setTimeout("clearPwBox()", 100);
</pre>
<p>This code could probably be made more generic by enumerating through the form elements and searching for a certain class name.  This way you could have one script and simply append a classname to any field that you don&#8217;t want auto-complete to occur.  This technique is similar to one posted on <a href="http://chrisholland.blogspot.com/2004/11/banks-protect-privacy-disable.html" target="_blank">Chris Holland&#8217;s blog</a>.  Chris&#8217;s solution, however, is aimed exclusively at the Wc3 compliance issue.  As you can see in his code he adds the autocomplete=&#8221;off&#8221; attribute, which allows the page to validate properly, but doesn&#8217;t solve the Firefox/Password field issue.</p>
<p>If you have a more graceful solution and/or decide to flesh this idea out, please post a comment and I&#8217;ll provide a link to your site.</p>
]]></content:encoded>
			<wfw:commentRss>http://verysimple.com/2007/03/07/forcing-firefox-to-obey-autocompleteoff-for-password-fields/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>AJAX DataGrid Comparison</title>
		<link>http://verysimple.com/2006/11/04/ajax-datagrid-comparison/</link>
		<comments>http://verysimple.com/2006/11/04/ajax-datagrid-comparison/#comments</comments>
		<pubDate>Sun, 05 Nov 2006 03:39:38 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.verysimple.com/blog/?p=61</guid>
		<description><![CDATA[UPDATE 04-2010: This post was originally written in 2006.  There are a lot more options for ajax datagrids now and most of them are constantly evolving.  Even if I were to review them all, it would be difficult to keep this page updated.  So, instead the original article is below and I&#8217;ll focus on my [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE 04-2010: This post was originally written in 2006.  There are a lot more options for ajax datagrids now and most of them are constantly evolving.  Even if I were to review them all, it would be difficult to keep this page updated.  So, instead the original article is below and I&#8217;ll focus on my criteria list for DataGrids as well as a small number of grids that I recommend</p>
<h2>My Criteria:</h2>
<ul>
<li><strong>Stability</strong>: My first criteria is stability because no matter how flashy, the grid needs to function correctly.</li>
<li><strong>Features</strong>: The features I consider &#8220;must have&#8221; for a datagrid is AJAX filtering, sorting and pagination.  For more advanced apps, inline editing is a requirement.</li>
<li><strong>Code Style</strong>: I prefer object-oriented code that is modular.  I don&#8217;t like a grid that requires server-side code or that is tightly coupled with the back-end (ie the grid talks directly to the database) unless it is built into the development framework itself (like .NET for example).</li>
<li><strong>License</strong>: For in-house apps I&#8217;ll consider commercial licensing for the components.  If I plan to distribute my source code then I use a library that is open source.  I prefer a more liberal license such as LGPL or MIT, however I&#8217;ll use GPL if it&#8217;s acceptable for the project.</li>
<li><strong>System Requirements</strong>: I take a conservative approach and prefer a grid that doesn&#8217;t require bleeding-edge browser versions.</li>
</ul>
<h2>My Recommended DataGrids:</h2>
<p><strong>ExtJS: <a href="http://extjs.com/" target="_blank">http://extjs.com/</a></strong></p>
<p>ExtJS is an entire JavaScript framework.  Any part can be used on it&#8217;s own, however in order to use the DataGrid some time needs to be invested in learning about the data reader classes.  So there is somewhat of a learning curve, but in my opinion this is the best DataGrid.  You can purchase a commercial license or use it free-of-charge under the GPL.  ExtJS has a very active development community.</p>
<p><strong>DHTMLX UI toolkit: <a href="http://dhtmlx.com/" target="_blank">http://dhtmlx.com/</a></strong></p>
<p>The DHTMLX UI components looks a little more 0ld-school to me at first glance, however the functionality is definitely  there and the grids includes just about anything you would want.  It supports themes as well so it could be made to look better.  A lite version is available under the GPL and a more feature-rich version is available with a commercial license.</p>
<p><strong>FlexiGrid: <a href="http://groups.google.com/group/flexigrid/" target="_blank">http://groups.google.com/group/flexigrid/</a></strong></p>
<p>FlexiGrid is a more lightweight option with a more liberal licensing than the other products.  It doesn&#8217;t include inline editing.  It is implemented as a plugin for JQuery.  I&#8217;m not sure if it&#8217;s being actively developed but the discussion group still has some activity.  It is a nice looking grid with the basic features that I need.  The developer himself seems confused about licensing and grants permission to do whatever you want but requests a &#8220;heads up.&#8221;  JQuery uses the MIT license.</p>
<p><strong>Popular Grids that I have tried but didn&#8217;t work for me</strong></p>
<ul>
<li>Nitobi Complete UI:  Awesome looking grid but it seems to have problems with cross-browser support.  I like these guys&#8217; products so I continue to keep my eye on them</li>
<li>jqGrid: I really don&#8217;t like the way they have tied in the grid to the database layer.  This might be helpful if you just want a table editor, but not if you want to have a modular grid component</li>
</ul>
<p>If you have one that you suggest, please post a comment and I&#8217;ll take a look.  Thanks!</p>
<p>&#8212;</p>
<h2>ORIGINAL ARTICLE FROM 2006</h2>
<p>I&#8217;ve been on the lookout for a good AJAX DataGrid component for some time now, hoping to find one that I can add to my bag of tricks.  Most data-driven web applications need to show data in a table or grid at some point or another.  There are quite a few for .NET programming, but if you just want the JavaScript to plug into your app, there are not as many choices.</p>
<p>Writing a flexible and powerful AJAX DataGrid is a complicated task and, speaking for myself, not one that most developers will want to tackle.  Using a 3rd party component makes a lot of sense.  However the commercial vendors of AJAX DataGrids out there are charging ridiculous amounts for licensing.  I&#8217;m sure these prices will come down to Earth as more open source options become available.</p>
<p>The most promising open source DataGrid I&#8217;ve found is the Rico LiveGrid at <a title="www.openrico.org" href="http://www.openrico.org/" target="_blank">www.openrico.org</a>. But from what I can tell, it&#8217;s a read-only display of data.  I could be wrong about that, but I haven&#8217;t seen any example code to show edit capability with LiveGrid.</p>
<p>The most most impressive commercial DataGrid in my opinion is the nitobi Grid at <a href="http://www.nitobi.com/" target="_blank">www.nitobi.com</a> but it&#8217;s not exactly cheap. If anyone knows of any other options out there and/or has a preference for one of these, please leave some feedback.  I&#8217;d be interested to read some other opinions.</p>
<table class="corporate">
<tbody>
<tr>
<th>Name</th>
<th>Active Widgets Grid</th>
<th>Zapatec Grid</th>
<th>nitobi Grid V3</th>
<th>dhtmlxGrid</th>
</tr>
<tr>
<td>URL</td>
<td><a title="visit..." href="http://www.activewidgets.com/" target="_blank">visit&#8230;</a></td>
<td><a href="http://www.zapatec.com/" target="_blank">visit&#8230;</a></td>
<td><a href="http://www.nitobi.com/" target="_blank">visit&#8230;</a></td>
<td><a href="http://www.scbr.com/" target="_blank">visit&#8230;</a></td>
</tr>
<tr>
<th colspan="5">License</th>
</tr>
<tr>
<td>Type</td>
<td>Commercial</td>
<td>Commercial</td>
<td>Commercial</td>
<td>GPL, Commercial</td>
</tr>
<tr>
<td>Per Seat Cost</td>
<td align="right">$395.00</td>
<td>NA</td>
<td align="right">$489.00</td>
<td align="right">$149.00</td>
</tr>
<tr>
<td>Per Server Cost</td>
<td>NA</td>
<td align="right">$59.00</td>
<td>NA</td>
<td>NA</td>
</tr>
<tr>
<td>Unlimited Server Cost</td>
<td align="right">$2,450.00</td>
<td align="right">$799.00</td>
<td>NA</td>
<td>NA</td>
</tr>
<tr>
<td>Distribute w/ My App Cost</td>
<td>NA</td>
<td align="right">$1,199.00</td>
<td>NA</td>
<td>NA</td>
</tr>
<tr>
<td>Source Included</td>
<td>Yes</td>
<td>Yes</td>
<td>Only with $3,699 Enterprise Edition</td>
<td>Yes</td>
</tr>
<tr>
<td>Trial Download</td>
<td>Yes</td>
<td>NA</td>
<td>Yes</td>
<td>NA</td>
</tr>
<tr>
<td>Free Version</td>
<td>No</td>
<td>Yes, &#8220;Lite&#8221;</td>
<td>No</td>
<td>Yes, GPL</td>
</tr>
<tr>
<td>Free/Trial Version Limitations</td>
<td>Honor System?</td>
<td>Link required, Non-removable &#8220;About&#8221; button in grid</td>
<td>Reg. Required, 30 Day Limitation</td>
<td>Feature Limitations</td>
</tr>
<tr>
<th colspan="5">Technical</th>
</tr>
<tr>
<td>Browsers</td>
<td>IE6+ FireFox  (Safari TBA 2006)</td>
<td>?</td>
<td>IE 6+, FireFox 1+, Camino 1.3+</td>
<td>IE5+, FireFox 0.9+, Safari 1.3+</td>
</tr>
<tr>
<td>How Data Loaded</td>
<td>JS Array, CSV, XML</td>
<td>HTML, XML, JSON</td>
<td>XML, JS API</td>
<td></td>
</tr>
<tr>
<th colspan="5">Features</th>
</tr>
<tr>
<td>JIT Rendering (Scroll)</td>
<td>Yes</td>
<td>No, but has &#8220;Slider&#8221;   pagination control</td>
<td>Yes</td>
<td>Pro Version Only</td>
</tr>
<tr>
<td>Edit In Place</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Input Controls</td>
<td>?</td>
<td>Yes</td>
<td>Yes</td>
<td>Pro Version Only</td>
</tr>
<tr>
<td>Sortable Rows</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Resize Columns</td>
<td>Yes</td>
<td>No</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Frozen Columns</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Notes</td>
<td>Includes various user controls like sliders, buttons,   etc.</td>
<td>Charts feature for customized output display</td>
<td>Copy/Paste multiple cells, to-from Excel.</td>
<td>Interesting &#8220;TreeView&#8221; Grid</td>
</tr>
</tbody>
</table>
<p><!--   /* ###################################################################### */ table.basic {     border-collapse: collapse;     border: none; }  table.basic tr {     vertical-align: top;     border: none; }  table.basic th, table.basic td {     margin: 0px;     padding: 3px 5px 3px 5px;     border: none; }  table.basic td {     background-color: #ffffff;     color: inherit;     border-bottom: dotted 1px #bbbbbb; }  table.basic th {     text-align: left;     font-weight: bold;     background-color: #dddddd;     color: inherit;     border-bottom: solid 1px #bbbbbb; }  /* ###################################################################### */ table.oldschool {     border-collapse: collapse;     border: none; }  table.oldschool tr {     vertical-align: top;     border: none; }  table.oldschool th, table.oldschool td {     margin: 3px;     padding: 3px 5px 3px 5px; }  table.oldschool td {     border: solid 1px #000000; }  table.oldschool th {     text-align: left;     font-weight: bold;     border: solid 1px #000000; }  /* ###################################################################### */ table.bluecube {     border-collapse: separate;     border: none; }  table.bluecube tr {     vertical-align: top;     border: none; }  table.bluecube th, table.bluecube td {     margin: 0px;     padding: 3px 5px 3px 5px;     border: none; }  table.bluecube td {     background-color: #99CCFF;     color: inherit; }  table.bluecube th {     text-align: left;     font-weight: bold;     background-color: #336699;     color: #ffffff; }  /* ###################################################################### */ table.corporate {     border-collapse: collapse;     border: none; }  table.corporate tr {     vertical-align: top;     border: none; }  table.corporate th, table.corporate td {     margin: 0px;     padding: 3px 5px 3px 5px;     border: solid 1px #336699; }  table.corporate td {  }  table.corporate th {     text-align: left;     font-weight: bold;     background-image: url(images/gradient_1.gif);     background-repeat: repeat-x;     color: #000000;     background-color: inherit; }  --><strong>Terminology:</strong></p>
<p>JIT Rendering: &#8220;Just in Time&#8221; rendering is the ability to show part of your data and load more dynamically as you scroll down.</p>
<p>Edit in Place: The ability to click on a cell and edit the data with no page reload</p>
<p>Input Controls: The ability to use drop-downs, checkboxes, etc when editing in place.</p>
<p>Frozen Columns: The ability to allow scrolling through your records but keep a column or row &#8220;frozen&#8221; as you can in Excel.</p>
]]></content:encoded>
			<wfw:commentRss>http://verysimple.com/2006/11/04/ajax-datagrid-comparison/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

