<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>radio-button &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/radio-button/</link>
	<description>Feed of posts on WordPress.com tagged "radio-button"</description>
	<pubDate>Sun, 06 Dec 2009 00:33:37 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Simple PHP + MySQL form with radio button and dropdown list]]></title>
<link>http://ykyuen.wordpress.com/2009/11/29/simple-php-mysql-form-with-radio-button-and-dropdown-list/</link>
<pubDate>Sun, 29 Nov 2009 06:20:55 +0000</pubDate>
<dc:creator>ykyuen</dc:creator>
<guid>http://ykyuen.wordpress.com/2009/11/29/simple-php-mysql-form-with-radio-button-and-dropdown-list/</guid>
<description><![CDATA[First, create a MySQL database with the following table CREATE TABLE IF NOT EXISTS 'data' ( 'id' int]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>First, create a <font color="#0000FF">MySQL</font> database with the following table</p>
<pre class="brush: plain;">
CREATE TABLE IF NOT EXISTS 'data' (
  'id' int(10) unsigned NOT NULL,
  'english_name' varchar(50) collate utf8_unicode_ci NOT NULL,
  'tel_number' varchar(8) collate utf8_unicode_ci NOT NULL,
  'email_address' varchar(50) collate utf8_unicode_ci NOT NULL,
  'gender' varchar(1) collate utf8_unicode_ci NOT NULL,
  'age' varchar(10) collate utf8_unicode_ci NOT NULL,
  'region' varchar(10) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
</pre>
<p>Prepare a <font color="#FF0000">update.php</font> for the <font color="#0000FF">MySQL</font> connection.</p>
<pre class="brush: php;">
&#60;?php
	$english_name = $_POST['EnglishName'];
	$tel_number = $_POST['TelNumber'];
	$email_address = $_POST['EmailAddress'];
	$gender = $_POST['Gender'];
	$age = $_POST['Age'];
	$region = $_POST['Region'];

	mysql_connect(&#34;[mysql_server]&#34;, &#34;[username]&#34;, &#34;[password]&#34;) or die ('Error: ' . mysql_error());
	mysql_select_db(&#34;[database_name]&#34;);

	$query=&#34;INSERT INTO data (english_name, tel_number, email_address, gender, age, region) VALUES (&#34;;
	$query.=&#34;'&#34;.$english_name.&#34;', &#34;;
	$query.=&#34;'&#34;.$tel_number.&#34;', &#34;;
	$query.=&#34;'&#34;.$email_address.&#34;', &#34;;
	$query.=&#34;'&#34;.$gender.&#34;', &#34;;
	$query.=&#34;'&#34;.$age.&#34;', &#34;;
	$query.=&#34;'&#34;.$region.&#34;')&#34;;

	mysql_query($query) or die ('Error updating database');

	echo &#34;Record is inserted.&#34;;
?&#62;
</pre>
<p>Prepare the <font color="#FF0000">form.php</font></p>
<pre class="brush: php;">
&#60;html&#62;
&#60;head&#62;
	&#60;title&#62;Simple PHP Form&#60;/title&#62;
&#60;/head&#62;

&#60;body&#62;
	&#60;form method=&#34;post&#34; action=&#34;update.php&#34;&#62;
		&#60;table&#62;
			&#60;tr&#62;
				&#60;td&#62;English Name:&#60;/td&#62;
				&#60;td&#62;&#60;input type=&#34;text&#34; name=&#34;EnglishName&#34; size=&#34;50&#34; /&#62;&#60;/td&#62;
				&#60;td&#62;Tel Number:&#60;/td&#62;
				&#60;td&#62;&#60;input type=&#34;text&#34; name=&#34;TelNumber&#34; size=&#34;8&#34; /&#62;&#60;/td&#62;
			&#60;/tr&#62;
			&#60;tr&#62;
				&#60;td&#62;Email Address:&#60;/td&#62;
				&#60;td&#62;&#60;input type=&#34;text&#34; name=&#34;EmailAddress&#34; size=&#34;50&#34; /&#62;&#60;/td&#62;
				&#60;td&#62;Gender:&#60;/td&#62;
				&#60;td&#62;&#60;input type=&#34;radio&#34; name=&#34;Gender&#34; value=&#34;M&#34; checked=&#34;checked&#34; /&#62;M&#60;input type=&#34;radio&#34; name=&#34;Gender&#34; value=&#34;F&#34; /&#62;F&#60;/td&#62;
			&#60;/tr&#62;
			&#60;tr&#62;
				&#60;td&#62;Age:&#60;/td&#62;
				&#60;td colspan=&#34;3&#34;&#62;
					&#60;input type=&#34;radio&#34; name=&#34;Age&#34; value=&#34;Under 18&#34; checked=&#34;checked&#34; /&#62;Under 18
					&#60;input type=&#34;radio&#34; name=&#34;Age&#34; value=&#34;18-23&#34; /&#62;18-23
					&#60;input type=&#34;radio&#34; name=&#34;Age&#34; value=&#34;24-30&#34; /&#62;24-30
					&#60;input type=&#34;radio&#34; name=&#34;Age&#34; value=&#34;31-40&#34; /&#62;31-40
					&#60;input type=&#34;radio&#34; name=&#34;Age&#34; value=&#34;Over 40&#34; /&#62;Over 40
				&#60;/td&#62;
			&#60;/tr&#62;
			&#60;tr&#62;
				&#60;td&#62;Region:&#60;/td&#62;
				&#60;td&#62;
					&#60;select name=&#34;Region&#34;&#62;
						&#60;option value=&#34;N/A&#34;&#62;N/A&#60;/option&#62;
						&#60;option value=&#34;HK&#34;&#62;Hong Kong&#60;/option&#62;
						&#60;option value=&#34;KLN&#34;&#62;Kowloon&#60;/option&#62;
					&#60;/select&#62;
				&#60;/td&#62;
			&#60;/tr&#62;
			&#60;tr&#62;
				&#60;td colspan=&#34;4&#34;&#62;&#60;input type=&#34;Submit&#34; value=&#34;Submit&#34; /&#62;&#60;/td&#62;
			&#60;/tr&#62;
		&#60;/table&#62;
	&#60;/form&#62;
&#60;/body&#62;

&#60;/html&#62;
</pre>
<p>Done =)</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[radio button IsChecked event not firing&hellip;]]></title>
<link>http://dotnettrails.wordpress.com/2009/10/20/radio-button-ischecked-event-not-firing/</link>
<pubDate>Tue, 20 Oct 2009 05:16:26 +0000</pubDate>
<dc:creator>dotnettrails</dc:creator>
<guid>http://dotnettrails.wordpress.com/2009/10/20/radio-button-ischecked-event-not-firing/</guid>
<description><![CDATA[This is widely discussed stuff in WPF 3.5 and quick fix is available here and here Sam Bent of Micro]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This is widely discussed stuff in WPF 3.5 and quick fix is <a title="Quote" href="http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/8eb8280a-19c4-4502-8260-f74633a9e2f2/5ba09ebb-e3a2-416d-a3e3-19b8ebd5c27f/quote">available here</a> and <a href="http://inquisitorjax.blogspot.com/2009/02/wpf-radio-button-binding-enums-and-bug.html">here</a> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Sam Bent of Microsoft clarifies that this issue is fixed in WPF 4.0 at <a title="Quote" href="http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/8eb8280a-19c4-4502-8260-f74633a9e2f2/69fd05e2-4af4-4836-8adc-312874a2cb44/quote">here</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[input Checkbox or Radio button with runat server and checked property]]></title>
<link>http://praveenbattula.wordpress.com/2009/09/25/input-checkbox-or-radio-button-with-runat-server-and-checked-property/</link>
<pubDate>Fri, 25 Sep 2009 06:21:31 +0000</pubDate>
<dc:creator>praveen battula</dc:creator>
<guid>http://praveenbattula.wordpress.com/2009/09/25/input-checkbox-or-radio-button-with-runat-server-and-checked-property/</guid>
<description><![CDATA[input Checkbox or Radio button with runat server and checked property]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://praveenbattula.blogspot.com/2009/07/input-checkbox-or-radio-button-with.html">input Checkbox or Radio button with runat server and checked property</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Datagrid with ComboBox, Radio Button and Popup]]></title>
<link>http://todaystechnography.wordpress.com/2009/09/07/datagrid-with-combobox-radio-button-and-popup/</link>
<pubDate>Mon, 07 Sep 2009 07:39:26 +0000</pubDate>
<dc:creator>todaystechnography</dc:creator>
<guid>http://todaystechnography.wordpress.com/2009/09/07/datagrid-with-combobox-radio-button-and-popup/</guid>
<description><![CDATA[I googled out and could find hardly few examples in the area of embedding Radio Button Group inside ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I googled out and could find hardly few examples in the area of embedding Radio Button Group inside Data grid.</p>
<p>So i thought let me share this with web friends.</p>
<p>This Flex control has following advantages</p>
<p>1. Radio Button Group inside Datagrid ( No need to write ItemRenderers )</p>
<p>2. Combo Box inside datagrid</p>
<p>3. Copy and Paste a row ( using Ctrl+C and Ctrl+V)</p>
<p><strong><span style="color:#3366ff;"><span style="text-decoration:underline;">Radio Button inside Datagrid</span></span></strong></p>
<p><span style="color:#3366ff;"><span style="color:#000000;">Inside the data grid column, we have embedded our radio button as shown below </span></span></p>
<p><span style="color:#3366ff;"><span style="color:#000000;">&#60;mx:DataGridColumn dataField=&#8221;Economy&#8221; rendererIsEditor=&#8221;true&#8221;  editorDataField=&#8221;selected&#8221; width=&#8221;350&#8243;&#62;<br />
    &#60;mx:itemRenderer &#62;<br />
       &#60;mx:Component&#62;<br />
        &#60;mx:HBox horizontalAlign=&#8221;center&#8221;&#62;<br />
                &#60;mx:RadioButtonGroup id=&#8221;rg&#8221; /&#62;<br />
             &#60;mx:RadioButton label=&#8221;Developed&#8221; groupName=&#8221;rg&#8221; value=&#8221;Developed&#8221; selected=&#8221;{&#8216;Developed&#8217; == data.Economy}&#8221; click=&#8221;checkRadioHandler(event)&#8221; /&#62;<br />
             &#60;mx:RadioButton label=&#8221;Developing&#8221; groupName=&#8221;rg&#8221; value=&#8221;Developing&#8221; selected=&#8221;{&#8216;Developing&#8217; == data.Economy}&#8221; click=&#8221;checkRadioHandler(event)&#8221;/&#62;     <br />
             &#60;mx:RadioButton label=&#8221;Under Developing&#8221; groupName=&#8221;rg&#8221; value=&#8221;Under Developing&#8221; selected=&#8221;{&#8216;Under Developing&#8217; == data.Economy}&#8221; click=&#8221;checkRadioHandler(event)&#8221;/&#62;<br />
        &#60;/mx:HBox&#62;<br />
           &#60;/mx:Component&#62;<br />
    &#60;/mx:itemRenderer&#62;<br />
   &#60;/mx:DataGridColumn&#62;</span></span></p>
<p><span style="color:#3366ff;"><span style="color:#000000;">Once we select any of the Radio Button, it has to update our Data Source. In order to do that, we have to use this code</span></span></p>
<p><span style="color:#3366ff;"><span style="color:#000000;">&#60;mx:Script&#62;<br />
         &#60;![CDATA[<br />
          import mx.controls.Alert;<br />
             private function checkRadioHandler(event:Event):void {<br />
                  var outObj:Object = event.currentTarget.parent.outerDocument;<br />
                  var idx:uint = outObj.advDG.selectedIndex;<br />
                  //Alert.show(" Radio button value = " + event.currentTarget.value);<br />
                  outObj.orgData[idx].Economy = event.currentTarget.value;   <br />
                  //outObj. = event.currentTarget.value;                   <br />
              }<br />
         ]]&#62;<br />
&#60;/mx:Script&#62;</span></span></p>
<p><span style="color:#3366ff;"><span style="color:#000000;"><strong><span style="color:#3366ff;"><span style="text-decoration:underline;">Combo Box inside Datagrid</span></span></strong></span></span></p>
<p><span style="color:#3366ff;"><span style="color:#000000;"><span style="color:#3366ff;"><span style="color:#000000;">Similar to Radio Button, we are using a simple way to embed Combo Box inside our Datagrid</span></span></span></span></p>
<p><span style="color:#3366ff;"><span style="color:#000000;"><span style="color:#3366ff;"><span style="color:#000000;">&#60;mx:DataGridColumn dataField=&#8221;Climate&#8221;  rendererIsEditor=&#8221;true&#8221; editorDataField=&#8221;value&#8221;&#62;<br />
           &#60;mx:itemRenderer&#62;<br />
                &#60;mx:Component &#62;<br />
                &#60;mx:VBox horizontalAlign=&#8221;center&#8221;&#62; <br />
                  &#60;mx:ComboBox change=&#8221;data.Climate = test.selectedItem&#8221; creationComplete=&#8221;getClimateData()&#8221; id=&#8221;test&#8221;<br />
                 dataProvider=&#8221;{outerDocument.openClimateData}&#8221;  prompt=&#8221;Select&#8221; /&#62;<br />
                 &#60;/mx:VBox&#62;<br />
                &#60;/mx:Component&#62;<br />
           &#60;/mx:itemRenderer&#62;<br />
        &#60;/mx:DataGridColumn&#62;</span></span></span></span><a href="https://sites.google.com/site/todaystechnography/data/CopyDataGrid.swf?attredirects=0" target="_self">See the Demo</a></p>
<p>Here in , if we select a value in our drop down, we have to update our Data Source to reflect this change.</p>
<p>&#60;mx:Script&#62;<br />
      &#60;![CDATA[<br />
      import mx.controls.Alert;<br />
      import mx.collections.ArrayCollection;<br />
      private function getClimateData():void {<br />
       //Alert.show(" inside Script Climate = " + data.Country);<br />
       //Alert.show(" inside Script Climate = " + data.Climate);<br />
       <br />
       for (var i:int=0;i&#60;test.dataProvider.length;i++){<br />
        var item:String = test.dataProvider[i];<br />
        if (data.Climate != null) {<br />
        if(item == data.Climate){<br />
        test.selectedIndex = i;<br />
        break;<br />
          }<br />
        } else {<br />
        break;<br />
        }<br />
       }<br />
       }       <br />
       ]]&#62;<br />
     &#60;/mx:Script&#62;</p>
<p><strong><span style="text-decoration:underline;"><span style="color:#3366ff;">Copy and paste</span></span></strong></p>
<p><strong></strong><br />
Copy a row using Ctrl+C and pasting a row using Ctrl+V inside datagrid. To enable this we have to use KeyboardEvent</p>
<p><a href="https://sites.google.com/site/todaystechnography/flex-datagrid/datagrid-with-combobox-radiobutton/CopyDataGrid.swf?attredirects=0"> See the Demo</a></p>
<p><a href="https://sites.google.com/site/todaystechnography/flex-datagrid/datagrid-with-combobox-radiobutton/Copydatagrid.zip?attredirects=0">Download Source Code</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[A mutually exclusive check box (radio button) in a repeating table/section]]></title>
<link>http://alecpojidaev.wordpress.com/2009/08/26/a-mutually-exclusive-check-box-in-a-repeating-section/</link>
<pubDate>Wed, 26 Aug 2009 15:24:58 +0000</pubDate>
<dc:creator>alecpojidaev</dc:creator>
<guid>http://alecpojidaev.wordpress.com/2009/08/26/a-mutually-exclusive-check-box-in-a-repeating-section/</guid>
<description><![CDATA[Bookmark that post Clean XPath only solution. Browser forms OK. The FORM to try. Create following fi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://delicious.com/save?url=http%3A%2F%2Falecpojidaev.wordpress.com%2F2009%2F08%2F26%2Fa-mutually-exclusive-check-box-in-a-repeating-section%2F&#38;title=A%20mutually%20exclusive%20check%20box%20%28radio%20button%29%20in%20a%20repeating%20section&#38;jump=%2Ftag%2Finfopath&#38;key=lrHycjxVqTdfQlPTFFSAUVpWqn4-&#38;original_user=alecpojidaev">Bookmark that post</a></p>
<p>Clean XPath only solution. Browser forms OK.<br />
The <a href="http://cid-e5a123fca40349ad.skydrive.live.com/self.aspx/.Public/ExclusiveCheckbox.xsn">FORM</a> to try.</p>
<p>Create following field/group structure:</p>
<p><img src="http://alecpojidaev.wordpress.com/files/2009/08/exchbox.jpg" alt="fields" title="ExChBox" width="214" height="126" class="size-full wp-image-306" /><br />
Assign 0 as initial value to rStarter field. Assign following XPath expression as inital value to the ChBx field:</p>
<p><span style="color:#ce9d84;">(../my:rStarter = xdMath:Max(../../my:CheckG/my:rStarter)) and (../my:rStarter != 0)</span></p>
<p>Create rule at ChBx field.<br />
 This rule has 2 actions: </p>
<ul>
<li>Assign rStarter to <span style="color:#ce9d84;">2 * (. != &#8220;false&#8221;)</span> </li>
<li>Assign rStarter to <span style="color:#ce9d84;">1 * (. != &#8220;false&#8221;)</span> </li>
</ul>
<p>Place control you like (check box or radio button) on the layout. For check box default  &#8220;Value when cleared&#8221; to false and &#8220;Value when checked&#8221; to true. For radio button limit amount of choices to 1 and set &#8220;Value when selected&#8221; to true.</p>
<p>Thats it. Happy codeless programming!</p>
<p>P.S. Actually that form looks as potentially a good example to demonstrate field updating concepts like &#8220;push&#8221; and &#8220;pull&#8221; and how they are interrelate with each other. In particulary it would be interesting to explain why the sequence of operators like i=2; i=1; which have no sense in any language can be useful thing in Infopath. (Kind of a statement, eh? My only hope here is that people familiar with volatile variables concept and multithreading are not reading posts about InfoPath) </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Thoughts on Radio Button Lists]]></title>
<link>http://rbailey.wordpress.com/2009/08/17/radio-button-lists-unlove/</link>
<pubDate>Mon, 17 Aug 2009 18:08:15 +0000</pubDate>
<dc:creator>rlb</dc:creator>
<guid>http://rbailey.wordpress.com/2009/08/17/radio-button-lists-unlove/</guid>
<description><![CDATA[In my own opinion, traditional radio button lists are becoming obsolete. And right fully so. Radiobu]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In my own opinion, traditional radio button lists are becoming obsolete. And right fully so.</p>
<p>Radiobuttonlists have two qualities: They show all of the options, and they allow only one selection. Dropdowns allow one selection but are compact and slow. Consider that it takes two clicks to make a selection: one click to open the drop down, and another to select desired option. Checkboxes show all of their options as well, however by default functionality, allow multiple selections. We can programatically allow only one selection, but this is beside the point.</p>
<p>Radiobuttonlists are ugly, unasthetic, and a pain in the rear. There are some lists, but few, where you can click anywhere on the selection &#8211; text, bubble, or surrounding area, and it magically selects your item. However, for the majority, you have to find the item you would like to select by reading all of the items, locate the corresponding circular radio button, and then click with precision into the 12 x 12 pixel area.  The selected choice is then distinguished with a tiny 8 x 8 black circle in the center. Not to mention, how does one &#8216;unselect&#8217; a selection in a radio button list? Without special programming, you don&#8217;t.</p>
<p>Let&#8217;s consider the way the modern web works. Users have a short attention span, they don&#8217;t want to &#8216;do work&#8217;, and nor do they want to think about the work they are doing. The more intuitive, less work involving, and less work looking a web activity is, the more likely they are to complete it. Thus, we usually want small, compact forms for our users. Because, the less the user has to &#8216;do&#8217;, the more likely they will complete the task. The only exception to this rule is when we are emulating standards that have already been set &#8211; for example, an online poll is a vertical-itemized radiobutton list with a &#8217;submit&#8217; and &#8216;view results&#8217; button.  We don&#8217;t want to reinvent the wheel, but we can alter their training on a very similar, perhaps easier, wheel.</p>
<p>Take a look around at what alternate control sets are being pushed out onto the web, Survey Monkey, for example, has some great ideas. On-hover colored, and quite large, they are easy and intuitive to use.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[checkbox, radio button validator]]></title>
<link>http://utopiabluesky.wordpress.com/2009/05/06/checkbox-radio-button-validator/</link>
<pubDate>Wed, 06 May 2009 09:03:57 +0000</pubDate>
<dc:creator>BlueSky</dc:creator>
<guid>http://utopiabluesky.wordpress.com/2009/05/06/checkbox-radio-button-validator/</guid>
<description><![CDATA[我竟然漏左post 呢個咁important 既post, 就係checkbox, radio button 既validator: 貼係header 度~~再用customer validator ]]></description>
<content:encoded><![CDATA[我竟然漏左post 呢個咁important 既post, 就係checkbox, radio button 既validator: 貼係header 度~~再用customer validator ]]></content:encoded>
</item>
<item>
<title><![CDATA[Select Radio Button QTP]]></title>
<link>http://rajivkumarnandvani.wordpress.com/2009/04/29/select-radio-button-qtp/</link>
<pubDate>Wed, 29 Apr 2009 16:14:43 +0000</pubDate>
<dc:creator>rajivkumarnandvani</dc:creator>
<guid>http://rajivkumarnandvani.wordpress.com/2009/04/29/select-radio-button-qtp/</guid>
<description><![CDATA[Rem************************************************************************************** Rem This f]]></description>
<content:encoded><![CDATA[Rem************************************************************************************** Rem This f]]></content:encoded>
</item>
<item>
<title><![CDATA[Making DW Radio Buttons and Check Boxes look disabled]]></title>
<link>http://pbbraindump.wordpress.com/2009/03/17/making-dw-radio-buttons-and-check-boxes-look-disabled/</link>
<pubDate>Tue, 17 Mar 2009 13:59:01 +0000</pubDate>
<dc:creator>rick130</dc:creator>
<guid>http://pbbraindump.wordpress.com/2009/03/17/making-dw-radio-buttons-and-check-boxes-look-disabled/</guid>
<description><![CDATA[An effective GUI quickly communicates to the users  how they can interact with the current window.  ]]></description>
<content:encoded><![CDATA[An effective GUI quickly communicates to the users  how they can interact with the current window.  ]]></content:encoded>
</item>
<item>
<title><![CDATA[The checkbox and radio buttons in Firefox in Kubuntu 8.04 not rendered well when focused]]></title>
<link>http://abhishekbarua.wordpress.com/2009/01/20/the-checkbox-and-radio-buttons-in-firefox-in-kubuntu-804-not-rendered-well-when-focused/</link>
<pubDate>Tue, 20 Jan 2009 17:02:50 +0000</pubDate>
<dc:creator>abhishekbarua</dc:creator>
<guid>http://abhishekbarua.wordpress.com/2009/01/20/the-checkbox-and-radio-buttons-in-firefox-in-kubuntu-804-not-rendered-well-when-focused/</guid>
<description><![CDATA[The checkboxes and radio buttons in Firefox in Kubuntu 8.04 not rendered well when focused. The solu]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The checkboxes and radio buttons in Firefox in Kubuntu 8.04 not rendered well when focused.</p>
<p>The solution to this is :</p>
<p>Open Konsole<br />sudo apt-get install human-theme gtk2-engines-murrine qtcurve gtk2-engines-qtcurve<br />sudo ln -s .gtkrc-2.0-kde .gtkrc-2.0<br />&#160;&#160;&#160; <br />Open System settings -&#62; Appearance -&#62; GTK styles and fonts<br />In gtk styles, choose use another style and select qtcurve (this goes well with the default kubuntu theme)</p>
<p>Close System settings and open firefox.</p>
<p>Enjoy a better firefox in Kubuntu.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ext-js de radio button]]></title>
<link>http://tafali.wordpress.com/2008/12/29/ext-js-de-radio-button/</link>
<pubDate>Mon, 29 Dec 2008 17:00:57 +0000</pubDate>
<dc:creator>tafali</dc:creator>
<guid>http://tafali.wordpress.com/2008/12/29/ext-js-de-radio-button/</guid>
<description><![CDATA[{ &#8230; id: &#8217;secenek1&#8242;, &#8230; } Ext.get(&#8217;secenek1&#8242;).dom.checked  seçiliy]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>{<br />
&#8230;<br />
id: &#8217;secenek1&#8242;,<br />
&#8230;<br />
}</p>
<p>Ext.get(&#8217;secenek1&#8242;).dom.checked  seçiliyse true, değilse false oluyor.</p>
<p>if(Ext.get(&#8217;secenek0&#8242;).dom.checked) secenek = 0;<br />
else if(Ext.get(&#8217;secenek1&#8242;).dom.checked) secenek = 1;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Radio Button Selection]]></title>
<link>http://webbyscript.wordpress.com/2008/11/25/radio-selection/</link>
<pubDate>Tue, 25 Nov 2008 12:49:09 +0000</pubDate>
<dc:creator>baiju43</dc:creator>
<guid>http://webbyscript.wordpress.com/2008/11/25/radio-selection/</guid>
<description><![CDATA[The following code will help you to get the clicked radio button value inside a javascript function.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The following code will help you to get the clicked radio button value inside a javascript function.The important thing is to give same values to the radio button&#8217;s name attribute&#8230;.</p>
<p>&#60;html&#62;</p>
<p>&#60;script&#62;</p>
<p>function selectCountry(form, field) {</p>
<p>var chosen = &#8220;&#8221;;<br />
var length = document.forms[form][field].length;</p>
<p>for (i=0;i&#60;length;i++) {</p>
<p>if (document.forms[form][field][i].checked) {</p>
<p>chosen = document.forms[form][field][i].value;</p>
<p>if (chosen == &#8220;&#8221;) {</p>
<p>alert(&#8220;No Country Chosen&#8221;);</p>
<p>}<br />
else {</p>
<p>alert(&#8220;Country Selected : &#8221; + chosen);</p>
<p>}<br />
}<br />
}<br />
}</p>
<p>&#60;/script&#62;<br />
&#60;body&#62;</p>
<p>&#60;form name=&#8221;test&#8221;&#62;</p>
<p>&#60;INPUT TYPE=&#8221;radio&#8221; NAME=&#8221;<strong>country</strong>&#8221; VALUE=&#8221;America&#8221;/&#62;America&#60;BR&#62;<br />
&#60;INPUT TYPE=&#8221;radio&#8221; NAME=&#8221;<strong>country</strong>&#8221; VALUE=&#8221;Japan&#8221;/&#62;Japan&#60;BR&#62;<br />
&#60;INPUT TYPE=&#8221;radio&#8221; NAME=&#8221;<strong>country</strong>&#8221; VALUE=&#8221;China&#8221;/&#62;China&#60;br&#62;<br />
&#60;input type=&#8221;button&#8221; value=&#8221;Select&#8221; onclick=&#8217;selectCountry(&#8220;test&#8221;,&#8221;country&#8221;)&#8217;/&#62;</p>
<p>&#60;/form&#62;<br />
&#60;/body&#62;<br />
&#60;/html&#62;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Flex getting selected RadioButton value]]></title>
<link>http://colourgray.wordpress.com/2008/08/11/flex-getting-selected-radiobutton-value/</link>
<pubDate>Mon, 11 Aug 2008 11:21:33 +0000</pubDate>
<dc:creator>Stephen Gray</dc:creator>
<guid>http://colourgray.wordpress.com/2008/08/11/flex-getting-selected-radiobutton-value/</guid>
<description><![CDATA[This is a pretty simple one but there are surprisingly few tutorials showing the user simply how to ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This is a pretty simple one but there are surprisingly few tutorials showing the user simply how to get a selected RadioButtonGroup&#8217;s value.</p>
<p>There are quite a number of tutorials covering change event triggers for RadioButton controls but this is slightly different.</p>
<p>Say you have a form and you want to process the RadioButton value after submitting the form instead of when the value of it changes.</p>
<p>To do this you actually have to create a RadioButtonGroup MXML tag for the radio buttons and select the value using the &#8217;selectedValue&#8217; property of that RadioButtonGroup:</p>
<p><code>&#60;mx:RadioButtonGroup id="myRadioButtonGroup" enabled="true" /&#62;</code><br />
<code>&#60;mx:RadioButton label="I like RadioButtons" groupName="{myRadioButtonGroup}" left="505" top="64" selected="true" value="true"/&#62;</code><br />
<code>&#60;mx:RadioButton label="I don't like RadioButtons" groupName="{myRadioButtonGroup}" left="348" top="62" value="false"/&#62;</code></p>
<p>Notice the {} around the groupName attributes of the RadioButton controls. You can then do this to select the value:</p>
<p><code>Alert.show(myRadioButtonGroup.selectedValue.toString());</code></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Checkbox &amp; Radio]]></title>
<link>http://shivakvs.wordpress.com/2008/07/18/checkbox-radio/</link>
<pubDate>Fri, 18 Jul 2008 09:52:16 +0000</pubDate>
<dc:creator>myworldkvs</dc:creator>
<guid>http://shivakvs.wordpress.com/2008/07/18/checkbox-radio/</guid>
<description><![CDATA[Javascript code for checking the Checkbox and Radio button whether checked or not. Script Code: var ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Javascript code for checking the Checkbox and Radio button whether checked or not.</p>
<ol style="list-style:none;line-height:20px;">
<li><strong>Script Code:</strong></p>
<div style="background-color:#EFEFEF;width:80%;margin:5px 0;padding:5px;">
var chk = document.form.checkboxname;  // return Node list</p>
<p>for(var i=0;i&#60;chk.length;i++)<br />
{</p>
<p>if(chk[i].checked==true)</p>
<p>{</p>
<p>// do</p>
<p>}</p>
<p>// you can do this while reset</p>
<p>chk[i].checked=false;// make checked false<br />
chk[i].disabled=false;  // enable if you disbled already<br />
}
</p></div>
</li>
</ol>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Deselecting radio buttons in Flex]]></title>
<link>http://junleashed.wordpress.com/2008/07/11/deselecting-radio-buttons-in-flex/</link>
<pubDate>Fri, 11 Jul 2008 16:32:09 +0000</pubDate>
<dc:creator>Joe</dc:creator>
<guid>http://junleashed.wordpress.com/2008/07/11/deselecting-radio-buttons-in-flex/</guid>
<description><![CDATA[This is a simple tip to deselect radio buttons in flex. The trick here is to have radio buttons as p]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This is a simple tip to deselect radio buttons in flex. The trick here is to have radio buttons as part of a RadioButtonGroup. Then, you simply need to set your RadioButtonGroup.selection to null.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[โปรดใช้ GUI Control ให้ถูกทาง]]></title>
<link>http://iamia.wordpress.com/2008/04/07/gui-controls-01/</link>
<pubDate>Mon, 07 Apr 2008 13:34:59 +0000</pubDate>
<dc:creator>iamia</dc:creator>
<guid>http://iamia.wordpress.com/2008/04/07/gui-controls-01/</guid>
<description><![CDATA[เมื่อก่อนตอนที่โลกเรายังแบ่ง Website กับ Application ชัดเจนกว่าตอนนี้ คนจะใช้ Website ในแบบเดินทางไป]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>เมื่อก่อนตอนที่โลกเรายังแบ่ง Website กับ Application ชัดเจนกว่าตอนนี้ คนจะใช้ Website ในแบบเดินทางไปในเว็บไซต์ และอ่านเนื้อหาบนเว็บไซต์ ส่วน Application คนจะใช้ในการเปลี่ยนแปลง หรือประมวล กระทำบางสิ่งบางอย่างกับเนื้อหา หรือข้อมูล ผ่านทางชุดคำสั่ง โดยที่ตัวเอกของ Website คือ Link และตัวเอกของ Application คือ ฺMenu กับ Button</p>
<p>เมื่อสองสิ่งนี้เริ่มมารวมกันกลายเป็น Web Application ก็ยิ่งมีการผสมผสานของ GUI Control เพื่อให้เว็บทำหลายสิ่งหลายอย่างได้มากขึ้น อย่างเช่น แทนที่จะเป็นเว็บดูสินค้าเฉยๆ ก็มี Shopping Cart ขึ้นมา มีการคำนวณตรวจดูห้องว่างในโรงแรม จองตั๋วเครื่องบิน ค้นหาข้อมูลที่ต้องการ และอื่นๆอีกมากมาย เกินกว่าการที่โยงเนื้อหาไปมาบนหน้าเว็บหน้าต่างๆ</p>
<p>เมื่อเว็บ ทำอะไรได้มากขึ้น การใช้ GUI Control ก็มากขึ้น<br />
รวมไปถึงการใช้ GUI Control ที่ผิดด้วย</p>
<p>ตัวอย่าง GUI-control ที่ผิดบ่อยๆ</p>
<p><strong>Button</strong><br />
Button แต่ไหนแต่ไรก็จะเป็นการส่ง Action ที่จะกระทำต่อข้อมูล หรือการแสดงผล อย่างใดอย่างหนึ่ง โดยเรามักจะต้องกรอกข้อมูล หรือเลือก option บางอย่างก่อน แล้วเราถึงจะคลิก Button ยืนยันสิ่งที่เราเลือกไป เพื่อให้ระบบทำงานส่งผลออกมาอย่างที่เราต้องการ<br />
แต่หลายๆที่ กลับใช้ Button เป็น Navigation ซึ่งจะทำให้ผู้ใช้สับสนได้ง่าย ว่านี่คือการยืนยัน Action หรือว่าเป็นแค่ Link เชื่อมโยงไปที่อื่น</p>
<p><strong>Link</strong><br />
Link แบ่งเป็นสองอย่างตามการใช้งาน ได้แก่<br />
Navigational Link คือ Link ที่พาไปยังจุดหมายที่กำหนดไว้ใน link นั้น<br />
Command Link คือ Link ที่คลิกแล้วทำให้เกิด action บางอย่างบนเว็บ<br />
ข้อเสียของการใช้ Command Link คือ หน้าตามันเหมือนกับ Navigational Link จนบางทีผู้ใช้สับสนว่า Link นี้เป็น Action หรือว่า Navigational กันแน่ ดังนั้น การกำหนด Label ของ Link จึงมีความสำคัญ ซึ่งต้องกำหนดให้ชัดเจนว่า Link นี้ คลิกแล้ว จะเกิดอะไรขึ้น<br />
จากนั้น ควรจะใช้ Command Link กับ Action ย่อย แล้วให้ Button ทำหน้าที่ของมันไปสำหรับ Action หลัก เช่น เราอาจจะใช้ Command Link กับการหยิบของใส่ตะกร้าก็ได้ แต่เมื่อเป็น Action หลัก เช่น การยืนยันการซื้อ ก็ควรจะเป็น Button</p>
<p><strong>Checkbox</strong><br />
Checkbox คือช่องสี่เหลี่ยมที่ให้คลิกเพื่อเลือก<br />
เราจะสามารถเลือกตัวเลือกได้ตั้งแต่ไม่เลือกเลย<br />
จนไปถึงเท่ากับจำนวนตัวเลือกที่มี<br />
และเราใช้ Stand-alone Checkbox ในการเลือกตัวเลือกที่มีเพียง 2 ตัวเลือกตรงข้ามกันได้อย่างมีประสิทธิภาพ เช่น Yes/No, Active/Inactive, Visible/Invisible เป็นต้น</p>
<p><strong>Radio Button</strong><br />
Radio Button คือช่องกลมๆที่ให้คลิกเพื่อเลือก เช่นกัน<br />
แต่มันมีความแตกต่างในการใช้งานกับ Checkbox อย่างชัดเจน<br />
เราใช้ Radio Button เพื่อบังคับเลือกเพียงตัวเลือกเดียว<br />
ไม่ว่าจะมีจำนวนตัวเลือกเท่าไร ก็เลือกได้เพียงตัวเดียวเท่านั้น<br />
หรือถ้ามีตัวเลือกเพียง 2 ตัว แต่เป็นตัวเลือกที่ไม่ได้มีลักษณะตรงข้ามกัน เช่น<br />
ให้เลือกสี เลือกเพศ ช่วงอายุ และข้อมูลต่างๆที่ต้องการคำตอบจากผู้ใช้เพียงคำตอบเดียว</p>
<p>แต่ในบางเว็บ แทนที่จะใช้ตาม Behavior เดิมๆของมัน ก็ต้องไปโปรแกรมเพิ่มให้มันมี Behavior ที่ผิดแผกไป เช่น ใช้ Checkbox แต่ทำให้มันมี Behavior เหมือน Radio Button<br />
ใช้ Radio Button แต่ทำให้มันมี Behavior เหมือน Checkbox</p>
<p><strong>Dropdown</strong><br />
Dropdown คือแถบที่มีสามเหลี่ยมคว่ำ กดออกมาเพื่อดูและเลือกตัวเลือกทั้งหมด<br />
Behavior เหมือน Radio Button เด๊ะ<br />
ข้อดีของมันคือ ประหยัดพื้นที่ ถ้ามีตัวเลือกเป็นจำนวนมาก<br />
แต่ข้อเสียคือ ถ้าใช้ไม่เหมาะ เช่น ตัวเลือกน้อยๆก็ยังจะใช้ จะทำให้ผู้ใช้เสียเวลาเลือกตัวเลือก<br />
มากกว่า Radio Button</p>
<p>และมีข้อควรระวังในการใช้ Javascript หรือ AJAX ซึ่งต้องดูที่สถานการณ์ด้วย บางสถานการณ์ ผู้ใช้ไม่ได้คาดไว้ว่า เมื่อเปลี่ยนตัวเลือกแล้ว หน้าเว็บจะเปลี่ยนทันที บางสถานการณ์ การมี Button เพื่อยืนยันการเปลี่ยนแปลงตัวเลือก จึงเป็นสิ่งที่จำเป็นอยู่</p>
<p>เหล่านี้ เป็นตัวอย่าง GUI control พื้นฐาน<br />
ที่เราควรใช้ให้ถูกธรรมชาติของมัน<br />
อย่างไรก็ดี มาถึงสมัยที่เว็บเป็น Rich Internet Application เช่นนี้<br />
ไม่ว่าจะเป็น Air, Flash, หรือ Silverlight<br />
ซึ่งเราสามารถออกแบบและสร้าง GUI control ได้ด้วยตัวเอง<br />
บางทีนักออกแบบก็มันมือ จนอาจจะทำให้เกิดปัญหาบางอย่างตามมา เช่น</p>
<p><strong>Non-Standard GUI Control</strong><br />
คือนอกเหนือจาก GUI Control พื้นฐานแล้ว<br />
ยังออกแบบ Control ตามความคิดสร้างสรรค์ของตัวเองได้อีกด้วย<br />
ซึ่งมันจะเกิดเป็นปัญหาขึ้น เมื่อผู้ใช้ไม่เก็ตตามผู้ออกแบบว่า<br />
Control นั้นๆ ใช้ทำอะไร</p>
<p>ดูเหมือนจะเป็น GUI-Control ปรกติ แต่ไม่ใช่ซะงั้น<br />
อย่างที่บอกไปว่า บางที่ก็ไม่พอใจ Behavior ดั้งเดิมของ Control นั้นๆ<br />
ก็ไปเปลี่ยนแปลงมันซะให้ใช้ยากขึ้นซะงั้น<br />
หรือทำกราฟฟิกปรกติ ให้ไปเหมือน Control ใด Control หนึ่ง<br />
ที่เจอเป็นปรกติมากเลยคือ ชอบออกแบบให้ Header หรือ Topic มันเหมือน Button<br />
ซึ่งคนในทีมเองเทสต์เองยังเข้าใจผิดว่าเป็น Button เลย<br />
ตรงนี้ เรียกว่า เป็นการใช้ Perceived Affordance ของ GUI-control ที่ผิด<br />
พูดง่ายๆก็คือ มันไม่เป็นไปตามที่หวังว่ามันจะเป็น<br />
ทำให้เกิดความสับสนในการใช้งานได้ง่าย</p>
<p>ปัญหาสามัญประจำออฟฟิศนักพัฒนาอีกอันหนึ่งคือ Inconsistency<br />
คือความไม่สม่ำเสมอของ GUI<br />
มักจะเกิดกับโปรเจคที่เริ่มใหญ่ไปถึงใหญ่จริง<br />
เดี๋ยวหน้านี้เป็น Button เดี๋ยวหน้านั้นเป็น Command Link ทั้งที่ function เดียวกันแท้ๆ<br />
เดี๋ยว Link ด้านบน underline แต่ข้างล่างไม่ underline<br />
กลายเป็นเว็บไซต์วัดไอคิวกันไปหมด<br />
ฉะนั้น การมี CSS plan ควบคุมและวางแผนตั้งแต่ต้น จึงเป็นสิ่งที่ต้องให้ความสนใจมาก</p>
<p>จริงๆยังมีอีกหลายปัญหาสามัญประจำทีม<br />
ที่จะเอาไว้พูดคุยกันต่องานหน้าก็แล้วกัน<br />
วันนี้ขอเอา<strong>หน้าเว็บยื่นภาษีออนไลน์</strong>มาเม้านิดนึง</p>
<p>นี้คือ Landing Page ที่จะเข้าสู่การยื่นภาษี</p>
<p><img src="http://farm3.static.flickr.com/2067/2385812598_48e4e9ee98.jpg" alt="" width="500" height="300" /></p>
<p>มองไป มองมา หาที่ยื่นไม่เจอ &#8211; -&#8221;<br />
ยื่นภาษีตรงไหน ช่วยด้วย</p>
<p>ก็เลยต้องอ่านรายละเอียดทุกบรรทัด<br />
เพื่อให้เห็นว่า อ้อ link ไปที่ยื่นภาษีมันคืออันนี้นี่เอง<br />
ทั้งๆที่การไปยื่นภาษีออนไลน์ น่าจะเป็น Activity หลักของเว็บ<br />
แต่กลับหาทางเข้า At a glance ไม่ได้<br />
ทำให้ผู้ใช้ต้องมาเสียเวลานั่งอ่านรายละเอียดที่ไม่เกี่ยวข้อง</p>
<p>พอดั้นด้น กรอกข้อมูลส่วนตัวเรียบร้อยแล้วเข้ามาถึงหน้ากรอกตัวเลข ดังนี้<br />
<img src="http://farm3.static.flickr.com/2275/2385812336_3d8e1bf751.jpg" alt="" /></p>
<p>ดูเผินๆ ก็ไม่มีอะไรใช่ไหม<br />
ก็เป็นฟอร์มธรรมดา</p>
<p>มันเกิดความสับสนให้กับผู้ใช้เหมือนกัน<br />
ในกรณีที่อิฉันกรอกไปแล้วว่าเป็นสาวโสดโฉดหมวย<br />
แต่เมื่อมาถึงหน้านี้ ช่อง&#8221;คู่สมรส&#8221; แถบขวาทั้งแถบ<br />
บวกกับช่องคู่สมรสในมาตรา 40(2) ก็โผล่มาให้มึนตึ้บเล่นๆ<br />
เอ๊ะ บอกว่าโสดไง หรือว่าฉันไปแต่งงานกับใครไว้แล้วลืมไปหว่า<br />
มันทำให้เกิดการ Overwhelm ทางด้านข้อมูล<br />
แทนที่ผู้ใช้จะงงภาษีและรายได้ของตัวเองมาก่อนหน้านี้แล้ว<br />
ระบบก็ยังไม่เห็นใจ ยังทำให้ผู้เสียภาษีต้องงงต่อไปอีก</p>
<p>ต่อมา มีการ mix ช่องที่ผู้ใช้อาจ expect ว่าเป็น text only<br />
กลายเป็นบางข้อมี GUI control โผล่ขึ้นมา<br />
อย่างเช่น Radio Button ซึ่งบางข้อ ก็ไม่ให้ผู้ใช้เลือกได้อีก<br />
ถึงแม้ช่องที่ผู้ใช้เลือกไม่ได้จะทำเป็นตัวเทา<br />
แต่นั่นก็ยังดูแปลก เพราะ Control เหล่านี้<br />
ผู้ใช้มักจะเข้าใจว่าเลือกได้ตลอด<br />
เพราะจากประสบการณ์การใช้งาน การเรียนรู้มันบอกว่างั้น<br />
พอมายื่นภาษีออนไลน์ที ต้องเรียนรู้ใหม่เกือบหมดเลยซะนี่</p>
<p>สุดท้าย ถ้าเห็นเป็นแบบฟอร์มธรรมดา<br />
พอกรอกลงมาจนถึงด้านล่างเสร็จแล้วปุ๊บ<br />
ผู้ใช้ก็จะหวังว่าจะได้กด &#8220;ต่อไป&#8221; หรือ &#8220;จบ&#8221; เพื่อไปยัง step ต่อไป<br />
อันนี้เป็นพื้นฐานในการกรอกฟอร์ม<br />
แต่เมื่อเลื่อนลงมาถึงด้านล่างจริงๆ กลับต้องงงเป็นไก่ตาแตก<br />
เมื่อมีแต่ Button ไล่ให้กลับไปหน้าแรก ให้ล้างข้อความให้หมด<br />
แล้วก็ให้ยกเลิกการยื่นภาษี</p>
<p>นั่งงงอยู่อึดใจ แล้วถ้าฉันยื่นภาษีต่อ ฉันต้องกดปุ่มไหน<br />
แล้วก็ทำตัวไม่มีเหตุผลไปสักพัก<br />
ถึงจะบางอ้อว่า เง้ย สงสัยมันต้องกดตรงแถบๆฟ้าๆข้างบนนี่แน่ๆเลย</p>
<p>นั่นหมายความว่า Flow ของการทำงาน ถูกขัดขวางด้วยการวางตัวของ Interface<br />
เมื่อผู้ใช้ต้องกรอกข้อมูลลงมาถึงข้างล่างสุด<br />
action ต่อไปต้องมีรองรับไว้ คือการเดินหน้าไปยังขั้นตอนต่อไป<br />
แต่นี่ กรอกเสร็จก็มีแต่ตัวเลือกให้ตัดสินใจถอยหลัง<br />
แปลว่า Flow มันต้องไหลย้อนกลับขึ้นไปด้านบน<br />
ก็งงกันล่ะงานนี้<br />
โอเค ติ๊ต่างว่า เราฉลาดแล้ว เลยไต่กลับขึ้นไปที่หน้าเว็บด้านบน<br />
เมนูฟ้าๆด้านบน เห็นแล้วคนที่กรอกภาษีปีละครั้งอย่างเรา ก็เหนื่อยใจ<br />
<img src="http://farm3.static.flickr.com/2190/2385812414_97cfd778fe.jpg" alt="" width="500" height="35" /></p>
<p>ความดีของ Menu อันนี้ เห็นจะเป็นอย่างเดียวก็คือ<br />
มันยังอุตส่าห์ highlight ว่า ตอนนี้เราอยู่ที่หน้าไหน</p>
<p>แต่การออกแบบ interface นั้น ไม่ได้สื่อเลยว่า<br />
ต้องทำไปตามขั้นตอนนี้ หรือห้ามข้ามขั้นตอนไหน<br />
interface มีลักษณะเป็น Tab ซึ่งโดยตัวของมัน<br />
มักจะใช้กับการเลือกหน้าได้โดยอิสระ ไม่มีหน้าใดผูกกับหน้าใดเป็นพิเศษ<br />
ไม่ Afford ให้ผู้ใช้รับรู้ว่า Tab ใดเป็น Tab ที่จำเป็นต้องคลิก<br />
ไม่มีอะไรบอกว่า ต้องกรอกข้อมูลใน Tab ผู้จ่ายเงินได้ ก่อนถึงจะยื่นภาษีได้<br />
หรือแม้แต่ไม่มีอะไรที่บ่งบอกว่า ต้องกด Tab สรุปภาษี ถึงจะยื่นภาษีได้</p>
<p>ทำไมชีวิตมันถึงได้ยากเย็นยิ่งนัก<br />
อีกอย่างก็คือ การแปะ Label ของ Tab นั้น<br />
เป็น Label ภาษากรมสรรพากร ซึ่งไม่ใช่ภาษาของประชาชนทั่วไป<br />
แปลว่า คนที่จะมากรอกภาษีได้ ต้องไปอ่านมาก่อนว่า<br />
เงินได้ 40(1)(2) คืออะไร<br />
เงินได้ 40(3) คืออะไร<br />
เงินได้ 40(6) คืออะไร<br />
ถ้าไม่รู้ว่าอะไร ก็ต้องคลิกดูอีกทีว่า ต้องมีอะไรกรอกหรือเปล่า<br />
ทำให้เสียเวลาทำมาหาเงินมาเสียภาษีโดยใช่เหตุ</p>
<p>ซึ่งทำให้ Interface ที่คาดว่าตอนสร้างขึ้นมา<br />
คงคิดว่าแบ่งเป็น Tab แล้วจะใช้งานง่ายดี<br />
แต่&#8230;มันไม่ใช่อะกิ๊บ&#8230;</p>
<p>นี่ก็เป็นอีกตัวอย่างที่แสดงให้เห็นว่า<br />
ข้อมูลที่ไม่เกี่ยวข้อง ช่องที่ไม่เกี่ยวข้อง อยู่ในแบบฟอร์มมากเกินไป<br />
<img src="http://farm4.static.flickr.com/3256/2384981729_1425bba417.jpg" alt="" width="500" height="59" /></p>
<p>อย่างเช่นในรูป มาตรา 40(1) ใส่เงินเดือนเข้าไปแล้ว<br />
เมื่อหักเงินได้ที่ได้รับการยกเว้นกรณีเป็นผู้สูงอายุ<br />
(ทำไมมันคำนวณจากข้อมูลส่วนตัวไม่ได้ฟะว่าอิฉันสูงอายุพอหรือไม่พอ)<br />
มันก็จะคงเหลือเงินที่นำไปคำนวณภาษี เท่านั้นเท่านี้<br />
แต่ตรงช่อง &#8220;คงเหลือ&#8221; เนี่ย มันเกี่ยวข้องกับ textbox เงินรายได้ในช่องซ้ายสุดเท่านั้น<br />
ช่องขวาถัดมาไม่ได้เกี่ยวอะไรกับเขาเลย ก็ยังขอแจมปรากฏซะหน่อย</p>
<p>เพื่ออะไร &#8211; -&#8221;<br />
เข้าใจในความยากของระบบระเบียบการจัดเก็บภาษีเหมือนกัน<br />
เขาคงพยายามแล้ว เราก็ต้องพยายามต่อไปของเราเหมือนกัน<br />
ขออย่างเดียว อย่าโดนเก็บภาษีเพิ่มอีกเลย ฮือๆๆ</p>
<p> </p>
<p>ป.ล.<br />
ยื่นภาษีปีหน้าคงต้องมาเปิดดูบทความนี้ใหม่<br />
อิงจาก<br />
<a href="http://www.useit.com/alertbox/application-mistakes.html">http://www.useit.com/alertbox/application-mistakes.html</a><br />
<a href="http://www.useit.com/alertbox/command-links.html">http://www.useit.com/alertbox/command-links.html</a><br />
<a href="http://www.useit.com/alertbox/20040927.html">http://www.useit.com/alertbox/20040927.html</a><br />
<a href="http://www.useit.com/alertbox/20050711.html">http://www.useit.com/alertbox/20050711.html</a><br />
<a href="http://www.rd.go.th/">http://www.rd.go.th/</a></p>
<p> </p>
<p> </p>
<p> </p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
