lecture Home > ASP Tips > ¼Û±ºÀÇ °í±Þ Script ±â¼ú

HTCÀÇ È°¿ë

   °­Á ÃÖÃÊ ÀÛ¼ºÀÏ : 2005³â 07¿ù 15ÀÏ
   °­Á ÃÖÁ¾ ¼öÁ¤ÀÏ : 2005³â 07¿ù 19ÀÏ

   °­Á ÀÐÀ½ ¼ö : ȸ

   ÀÛ¼ºÀÚ : Songgun(¼Û ¿ø¼®)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

   °­Á Á¦¸ñ : HTC ÀÛ¼º ¹× Ȱ¿ë 

°­Á Àü Å¿ÀÀÇ Àâ´ã>

www.egocube.pe.kr »çÀÌÆ®¸¦ ¿î¿µÇϰí ÀÖ´Â ¼Û¿ø¼® ±ºÀÌ º¸³»ÁØ °­ÁÂÀÔ´Ï´Ù.
¾È ±×·¡µµ htc¸¦ Á¤¸®ÇÑ °­Á°¡ ÇÊ¿äÇÏ´Ù´Â »ý°¢À» Çϰí ÀÖ´ø ÅÍ¿´´Âµ¥,
¿ª½Ã³ª ¼Û±ºÀÌ ±â´ë¿¡ ¾î±ß³ªÁö ¾Ê°Ô ½Ã±âÀûÀýÇÏ°Ô ÁÁÀº °­Á¸¦ º¸³»ÁÖ¾ú³×¿ä ^^
HTC ±â¼úÀº À¥À» ´Ù·ç´Â »ç¶÷À̶ó¸é ¹Ýµå½Ã ¾Ë¾ÆµÎ¾î¾ß ÇÒ ÁÁÀº ±â¼úÀÔ´Ï´Ù



Àç¹ÌÀÖ´Â ÀÚ¹Ù½ºÅ©¸³Æ®, HTCs ÀÇ ÀÛ¼º - 02

º»°ÝÀûÀ¸·Î HTCs ÀÛ¼º¹ý¿¡ °üÇÑ ³íÀǸ¦ ÁøÇàÇϱâ Àü¿¡ ¸ÕÀú ÇÑ °¡Áö °£´ÜÇÑ Áú¹®À» ´øÁ®º¸°íÀÚ ÇÑ´Ù. Áö³­¹ø ±Û¿¡¼­µµ Àá½Ã »ìÆìº» °Íó·³ HTCs ´Â È®ÀåÀÚ°¡ .htc ÀÎ °£´ÜÇÑ ÅØ½ºÆ® ÆÄÀÏÀÌ´Ù. ±×¸®°í ±× ÅØ½ºÆ® ÆÄÀÏÀÇ ³»ºÎ¿¡´Â ÇÊÀÚ³ª ¿©·¯ºÐµéÀÌ Ç×»ó Àͼ÷ÇÏ°Ô Á¢ÇؿԴø ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå¿Í ÇÔ²² ¸î °¡Áö ³¸¼± ű׵éÀÌ ±¸ÇöµÇ¾îÁ® ÀÖÀ¸¸ç, ±× Àû¿ëÀº ÄɽºÄÉÀ̵ù ½ºÅ¸ÀÏ½ÃÆ®¸¦ ÅëÇØ¼­ ÀÌ·ç¾îÁø´Ù. ±×·¸´Ù¸é .htc ÆÄÀÏÀÇ º»ÁúÀº ¹«¾ùÀϱî? ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ .js ÆÄÀÏÀ̳ª ÄɽºÄÉÀ̵ù ½ºÅ¸ÀÏ½ÃÆ®ÀÇ .css ÆÄÀϵî°ú µ¿·ùÀÇ ÆÄÀÏ Çü½ÄÀ¸·Î º¸´Â °üÁ¡ÀÌ Á¤È®ÇÑ ½Ã°¢Àϱî? ¿©·¯ºÐµéÀÇ ¿¹»ó°ú´Â ÀüÇô µ¿¶³¾îÁø °á°úÀÏ ¼öµµ ÀÖ°ÚÁö¸¸ .htc ´Â HTML ÆÄÀÏÀÇ ÀÏÁ¾À̶ó´Â °ÍÀÌ ±× ¿Ã¹Ù¸¥ ´ë´äÀÌ´Ù. ±×¸®°í ¹Ù·Î ±×·¯ÇÑ ±Í°á·Î¼­ HTCs ´Â ¿Ïº®ÇÑ ÇϳªÀÇ ÄÄÆ÷³ÍÆ® ¸ðµ¨À» °³¹ßÀڵ鿡°Ô Á¦°øÇØÁÖ°Ô µÇ´Â °ÍÀÌ´Ù. Áö±Ý±îÁö »ìÆìº» ¸ðµç HTCs »ùÇõéÀº ƯÁ¤ÇÑ ±â´É (Functionality) À» ±âÁ¸¿¡ Á¸ÀçÇϰí ÀÖ´Â HTML ű׿¡ ºÎ¿©ÇÏ´Â À¯ÇüÀÇ °ÍÀ̾ú´Ù. ±×·¯³ª ¸¸¾à ´ÜÁö ±× Á¤µµ°¡ HTCs °¡ Á¦°øÇØÁÖ´Â ±â´ÉÀÇ ÀüºÎ¶ó°í ÇÑ´Ù¸é HTCs ¸¦ ¿Ïº®ÇÑ ÄÄÆ÷³ÍÆ® ±¸Çö ¸ÞÄ¿´ÏÁòÀ̶ó°í À̾߱âÇϱâ´Â ¾î·Á¿ï °ÍÀÌ´Ù. ¿Ö³ÄÇϸé ÄÄÆ÷³ÍÆ®¶ó°í ÇÏ´Â Ä¿´Ù¶õ ÁÖÁ¦ÀÇ ³»ºÎ¿¡´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿Í °ü·ÃµÈ À̽´°¡ »ó´çÇÑ ºñÁßÀ» Â÷ÁöÇϰí Àֱ⠶§¹®ÀÌ´Ù. Àß ¾Ë·ÁÁø »ç½ÇÀº ¾Æ´ÏÁö¸¸ HTCs ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º °ü·Ã ÄÄÆ÷³ÍÆ® ¸ÞÄ¿´ÏÁò±îÁö ¸ðµÎ Áö¿øÇϰí ÀÖÀ¸¸ç Áö±ØÈ÷ ´ç¿¬ÇϰԵµ HTML ÆÄÀÏÀÇ ÀÏÁ¾À̶ó´Â ±× º»Áú ±×´ë·Î »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿Í °ü·ÃµÈ ºÎºÐµéÀº HTML ¹®¼­ ±¸Á¶¸¦ ±× ¹ÙÅÁÀ¸·Î Çϰí ÀÖ´Ù. ±Ø´ÜÀûÀ¸·Î ÇÊÀÚÀÇ »ý°¢À» Ç¥ÇöÇØº»´Ù¸é °á±¹ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º°¡ ±¸ÇöµÈ HTCs ¶õ Ä¿½ºÅÒ Å±׶ó´Â ¶Ç ´Ù¸¥ À̸§À» °¡Áö°í Àִ Ư¼öÇÑ À¯ÇüÀÇ IFRAME ű×ÀÏ »ÓÀ̶ó°í »ý°¢Çϰí Á¢±ÙÇÏ´Â ½Ã°¢ÀÌ HTCs ¸¦ ÀÌÇØÇÏ´Â °¡Àå ºÎ´ã¾ø´Â °üÁ¡µé Áß Çϳª¶ó°í »ý°¢ÇÑ´Ù.

µû¶ó¼­ Á¤¸®¸¦ ÇØº»´Ù¸é HTCs ´Â Å©°Ô µÎ °¡Áö Á¾·ù·Î ºÐ·ùµÉ ¼ö ÀÖÀ¸¸ç, ±× ¼¼ºÎÀûÀÎ ±¸Çö ¹æ¹ý¿¡ À־µµ ¾î´À Á¤µµÀÇ Â÷ÀÌÁ¡ÀÌ Á¸ÀçÇϴµ¥ MSDN ¿¡¼­´Â À̸¦ Attached Behavior ¿Í Element Behavior ¶ó´Â ¿ë¾î·Î ±¸ºÐÇϰí ÀÖ´Ù. º»¹®¿¡¼­´Â ÀÌµé µÎ ¿ë¾î¸¦ Ưº°È÷ ¹ø¿ªÇÏÁö ¾Ê°í ¿ø¹® ±×´ë·Î »ç¿ëÇÏ·Á°í ÇϹǷΠÂü°íÇϱ⠹ٶõ´Ù. ¾Æ¹«Æ° Attached Behavior ´Â º°µµÀÇ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ¾øÀÌ ±âÁ¸¿¡ Á¸ÀçÇÏ´Â HTML ű׿¡ ƯÁ¤ÇÑ ±â´É¸¸À» Ãß°¡ÇÏ´Â ÇüÅÂÀÇ HTCs ¸¦ ¸»ÇÏ´Â °ÍÀ¸·Î¼­ Áö³­¹ø ±Û¿¡¼­ ¿ì¸®µéÀÌ »ìÆìº» HTCs µéÀÌ ¸ðµÎ ÀÌ °æ¿ì¿¡ Æ÷ÇÔµÈ´Ù°í º¸¸é µÈ´Ù. ±×¿¡ ºñÇÏ¿© Element Behavior ´Â ÀÏÁ¾ÀÇ Ä¿½ºÅÒ Å±׸¦ ±¸ÇöÇÑ °ÍÀ̶ó°í »ý°¢ÇÏ¸é ±×´ÙÁö ¹«¸®°¡ ¾øÀ¸¸ç Âü°í·Î ¿ì¸®µéÀº Áö±Ý±îÁö ÀÌ·¯ÇÑ À¯ÇüÀÇ HTCs ¸¦ ÇÑ ¹øµµ »ìÆìº» ÀûÀÌ ¾ø´Ù. ½±°Ô »ý°¢Çؼ­ ASP .NET ÇÁ·Î±×·¡¹Ö °æÇèÀÌ ÀÖÀ¸½Å ºÐµéÀº »ç¿ëÀÚ Á¤ÀÇ ÄÁÆ®·ÑÀ» ¸Ó¸®¼Ó¿¡ ¶°¿Ã·Áº¸¸é ÇÊÀÚ°¡ ¹«¾ó À̾߱âÇϰí ÀÖ´ÂÁö °£´ÜÇÏ°Ô ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¡µµ ½±°Ô ÀÌÇØ°¡ µÇÁö ¾Ê´Â ºÐµéÀº ¿©±â¸¦ Ŭ¸¯Çغ¸±â ¹Ù¶õ´Ù. ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼­ Á¦°øÇÏ´Â »ùÇõé Áß ÇϳªÀε¥ ±× HTML ¼Ò½º¸¦ ÀÚ¼¼ÇÏ°Ô »ìÆìº¸¸é »ó´çÈ÷ ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÌ´Ù. ±×¸®°í º»¹®¿¡¼­´Â Attached Behavior À¯Çü HTCs ¸¦ Çϳª ±¸ÇöÇØº¸·Á°í Çϴµ¥, ´Ü¼øÈ÷ »ùÇà ¼öÁØ¿¡¼­ ±×Ä¡´Â °ÍÀÌ ¾Æ´Ï¶ó ½ÇÁ¦·Î ÇÁ·ÎÁ§Æ®¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¼öÁرîÁö ²ø¾î¿Ã¸®·Á´Â °ÍÀÌ ÇÊÀÚÀÇ °èȹÀÌ´Ù. ¸¸¾à º»¹®¸¸À¸·Î ¸ðµç ³»¿ëÀ» ¸¶¹«¸®ÇÏÁö ¸øÇÑ´Ù¸é ´ÙÀ½±Û¿¡¼­ °è¼Ó ³»¿ëÀ» À̾µµ·Ï ÇϰڴÙ.

Áö±ÝºÎÅÍ ¿ì¸®µéÀÌ ±¸ÇöÇØ º¼ ±â´ÉÀº »ç¿ëÀÚµéÀÌ INPUT ű׿¡ ÀÔ·ÂÇÏ´Â °ªÀ» Á¦ÇÑÇÏ´Â ±â´ÉÀÌ´Ù. ÀÌ·¯ÇÑ ±â´ÉµéÀº ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼­µµ ¸Å¿ì ºó¹øÇÏ°Ô ¿ä±¸µÇ¾îÁö´Â °ÍÀ¸·Î, À̸¦Å×¸é ¿Ã¹Ù¸¥ Çü½ÄÀÇ ÀüÀÚ¿ìÆí ÁÖ¼Ò¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖµµ·Ï °­Á¦ÇÑ´Ù´ø°¡, ±Ý¾×À» ÀÔ·ÂÇØ¾ß ÇÏ´Â ÀԷ¶õ¿¡ ¹®ÀÚ°ªÀ» ÀÔ·ÂÇÏÁö ¸øÇÏ°Ô ÇÏ´Â µîµîÀÇ »ç·Ê°¡ ±× ´ëÇ¥ÀûÀÎ °æ¿ì¶ó°í ¾ê±âÇÒ ¼ö ÀÖ´Ù. ÀÏ´Ü º»¹®¿¡¼­´Â ³íÀÇ»óÀÇ ÆíÀǸ¦ À§ÇÏ¿© °£´ÜÇÏ°Ô ¼ýÀÚ°ª ÀԷ¸¸À» Çã¿ëÇÏ´Â Attached Behavior À¯ÇüÀÇ HTCs ¸¦ ±¸ÇöÇØº¸·Á°í ÇÑ´Ù. ½ÇÁ¦·Î ÄÚµù¿¡ µé¾î°¡±â Àü¿¡ ¸ÕÀú ¿ä±¸µÇ¾îÁö´Â ±â´ÉµéÀ» ±¸ÇöÇϱâ À§ÇÑ ¼¼ºÎ »çÇ×µéÀ» Á¤ÀÇÇØº¸ÀÚ. ÇÊÀÚ°¡ »ý°¢Çغ» ¼¼ºÎ »çÇ×µéÀº ´ÙÀ½°ú °°Áö¸¸ ¾î¶² ºÐµéÀº ÀÌ Á¤µµ·Î´Â ¸¸Á·ÇÏÁö ¸øÇÏÁö´Â ºÐµéµµ °è½Ç °ÍÀÌ´Ù. ±×·±ºÐµéÀº º»¹®ÀÇ °á°ú¸¦ ¹ÙÅÁÀ¸·Î Á÷Á¢ ¿øÇÏ´Â ±â´ÉµéÀ» ±¸ÇöÇØº¸±â ¹Ù¶õ´Ù. º»¹®ÀÇ µÞ ºÎºÐÂë¿¡¼­µµ ±¸ÇöµÈ ±â´ÉÀ» º¸´Ù ¹ßÀü½ÃÄÑ ³ª°¡¸é¼­ ÀÚ¿¬½º·´°Ô ÀϺΠÁ¶°ÇµéÀº º¯°æµÇ°Å³ª »õ·Î Ãß°¡µÇ¾îÁú °ÍÀÌ´Ù.

1. 
ŸÀÔÀÌ TEXT ÀÎ INPUT ű׸¸À» ´ë»óÀ¸·Î µ¿ÀÛÇÑ´Ù.
2. 
´ë»ó űװ¡ ·ÎµùµÈ Á÷ÈÄ ÅØ½ºÆ® Á¤·ÄÀ» ¿À¸¥ÂÊ Á¤·Ä·Î ¼³Á¤ÇÑ´Ù.
3. 
´ë»ó űװ¡ ·ÎµùµÈ Á÷ÈÄ ÀÔ·ÂµÈ °ªÀÌ ¾ø´Ù¸é 0 À¸·Î °ªÀ» ÃʱâÈ­ÇÑ´Ù.
4. 
´ë»ó ű׿¡ Æ÷Ä¿½º°¡ ¹ß»ýÇϸé ÀԷ°ªÀÇ ³»¿ë Àüü¸¦ ¹ÝÀü½ÃŲ´Ù.
5. 
¿ÀÁ÷ 0 ºÎÅÍ 9 ±îÁöÀÇ ¼ýÀÚ°ª¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù.
6. 
Á¦ÇѵǴ ¹®ÀÚ´Â ¾ÖÃÊ¿¡ Ű ÀÔ·Â ÀÚü°¡ µÇÁö ¾Ê´Â ¹æ½ÄÀ¸·Î ±¸ÇöÇÑ´Ù.
7. 
´ÙÀ½°ú °°Àº Ư¼ö۵éÀº ¸ðµÎ Á¤»óÀûÀ¸·Î µ¿ÀÛÇØ¾ß¸¸ ÇÑ´Ù.
  - µÇµ¹¸®±â (Ctrl+Z), Àß¶ó³»±â (Ctrl+X), º¹»ç (Ctrl+C), ºÙ¿©³Ö±â (Ctrl+V)
  - Àüü¼±Åà (Ctrl+A), »õ·Î°íħ (Ctrl+R)
  - ¸ðµç È­»ìÇ¥ Ű (¡ç, ¡è, ¡æ, ¡é)
  - ÆäÀÌÁö À̵¿ °ü·Ã Ű (Home, End, PgUp, PgDn)
  - »èÁ¦ °ü·Ã Ű (Delete, Backspace)
  - ±âŸ °ü·Ã Ű (Tab, Esc)
8. 
ºÙ¿©³Ö±â¿¡ ´ëºñÇÏ¿© Æ÷Ä¿½º¸¦ ÀÒÀ» ¶§ ´Ù½Ã ÇÑ ¹ø À¯È¿¼ºÀ» °Ë»çÇÑ´Ù.

±×·¯¸é Áö±ÝºÎÅÍ ¼¼ºÎ »çÇ׿¡ Á¤ÀÇµÈ ³»¿ëµéÀ» ÇÑ °¡Áö¾¿ Â÷·Ê´ë·Î ±¸ÇöÇØº¸µµ·Ï ÇÏÀÚ. °¡Àå ¸ÕÀú ÇØ¾ßÇÒ ÀÛ¾÷Àº Áö±ØÈ÷ ´ç¿¬ÇÑ ¾ê±â°ÚÁö¸¸ HTCs ÆÄÀÏ ÀÚü¸¦ »ý¼ºÇÏ´Â ÀÏÀÌ´Ù. ¿©·¯ºÐµé °¢ÀÚÀÇ ÀÛ¾÷ ȯ°æ¿¡ ¾Ë¸Â°Ô ÀûÀýÇÑ °æ·Î¿¡ ÅØ½ºÆ® ÆÄÀÏÀ» Çϳª »ý¼ºÇÏ°í ÆÄÀÏÀÇ È®ÀåÀÚ¸¦ .htc ·Î º¯°æÇØÁØ´Ù. HTCs ÆÄÀÏÀ» »ý¼ºÇÏ´Â À§Ä¡¿¡ °üÇÑ Á¦¾à »çÇ× °°Àº °ÍÀº Á¸ÀçÇÏÁö ¾ÊÁö¸¸ ¾Æ¹«·¡µµ À¥ °æ·Î»ó¿¡ À§Ä¡ÇÏ´Â °ÍÀÌ ¾ÕÀ¸·Î º»¹®À» µû¶ó°¡´Âµ¥ À¯¸®ÇÒ °ÍÀÌ´Ù. ¹°·Ð ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼­´Â °øÅë ¶óÀ̺귯¸®µéÀÌ À§Ä¡ÇÑ °æ·Î¿¡ HTCs µéÀ» ¸ð¾Æ ³õ´Â °ÍÀÌ ´ëºÎºÐÀÇ °æ¿ìÀÏ °ÍÀÌ´Ù. ±×¸®°í ´ÙÀ½°ú °°ÀÌ ÆÄÀÏ¿¡ PUBLIC:COMPONENT ¿¤·¹¸ÕÆ® ű׸¦ ¼±¾ðÇØÁִµ¥ ÀÏ´Ü Áö±ÝÀº ÀÌ Å±׿¡¼­ Á¦°øÇÏ´Â ¼Ó¼ºµéÀ̳ª ±× °¢°¢ÀÇ Àǹ̿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº »ý·«ÇÏ°í ³Ñ¾î°¡µµ·Ï ÇϰڴÙ. ÀÌ ºÎºÐÀº ¸ÕÀú º»¹®¿¡¼­ ÀǵµÇÏ´Â ¸ðµç HTCs ÀÇ ±¸ÇöÀÌ ¸¶¹«¸® µÈ ´ÙÀ½¿¡ ´Ù½Ã ³íÀÇÇϱâ·Î ÇÑ´Ù.

<PUBLIC:COMPONENT lightWeight="true">
</PUBLIC:COMPONENT>
ÀÚ, ÀÌÁ¦ º»°ÝÀûÀÎ HTCs ÀÇ ±¸ÇöÀÌ ½ÃÀ۵Ǿú´Ù! ¼¼ºÎ »çÇ× 1. ¹ø¿¡ Á¤ÀÇµÈ ³»¿ëÀº ¸Å¿ì Æ÷°ýÀûÀÎ ¹üÀ§¿¡ ¹Ý¿µµÇ´Â À¯ÇüÀÇ °ÍÀ̹ǷΠÀÏ´Ü ±× ±¸ÇöÀ» º¸·ùÇϱâ·Î Çϰí 2. ¹ø ¼¼ºÎ »çÇ׺ÎÅÍ ±¸ÇöÀ» ÇØº¸µµ·Ï ÇÏÀÚ. ±× ³»¿ëÀº ¸Å¿ì °£´ÜÇÑ ÆíÀÌ´Ù. ´ÜÁö ÅØ½ºÆ® Á¤·ÄÀ» ¿À¸¥ÂÊ Á¤·Ä·Î ¼³Á¤Çϱ⸸ ÇÏ¸é µÇ´Âµ¥, Á¤ÀÛ ¹®Á¦´Â ±×°Ô ¾Æ´Ï¶ó °ú¿¬ ¾î¶² ½ÃÁ¡¿¡ ÇØ´ç Äڵ尡 ½ÇÇàµÇ¾î¾ß ÇÏ´ÂÁö, Áï ¾î¶² À̺¥Æ® Çîµé·¯¿¡ ÇØ´ç Äڵ尡 ±¸ÇöµÇ¾î¾ß ÇÒ °ÍÀÎÁö°¡ ¹®Á¦°¡ µÈ´Ù. ÇÊÀÚ°¡ »ý°¢Çϱ⿡ ³í¸®ÀûÀ¸·Î ÀÌ ÀÛ¾÷À» ó¸®Çϱ⠰¡Àå ¹Ù¶÷Á÷ÇÑ ½ÃÁ¡Àº HTCs °¡ Ãß°¡µÇ¾îÁø ´ë»ó HTML űװ¡ ºê¶ó¿ìÀú¿¡ ·ÎµùµÈ Á÷ÈĶó°í »ý°¢ÇÑ´Ù. Áï Àüü ÆäÀÌÁö ÀÚü´Â ¾ÆÁ÷ ·ÎµùÀÌ ³¡³ªÁö ¾Ê¾Ò´õ¶óµµ ÇØ´ç HTML ű×ÀÇ ·ÎµùÀÌ ¿Ï·áµÈ ½ÃÁ¡ÀÌ´Ù. µû¶ó¼­ °¢°¢ÀÇ HTML ű׸¶´Ù onLoad À̺¥Æ®°¡ Á¦°øµÇ¸é ÁÁ°ÚÁö¸¸ °ÅÀÇ ´ëºÎºÐÀÇ Å±׵éÀº ÀÌ À̺¥Æ®¸¦ Áö¿øÇÏÁö ¾ÊÀ¸¹Ç·Î ¹º°¡ ´Ù¸¥ ´ë¾ÈÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù. BODY ű×ÀÇ onLoad ³ª °¢°¢ÀÇ HTML ű×ÀÇ onFocus À̺¥Æ®´Â ¹Ù¶÷Á÷ÇÑ ´ë»óÀÌ ¾Æ´Ï¶ó´Â °ÍÀÌ ÇÊÀÚÀÇ ÆÇ´ÜÀÌ´Ù. ±×·¸´Ù¸é ¹º°¡ ÁÁÀº ´ë¾ÈÀÌ ¾øÀ»±î? ´ÙÇེ·´°Ôµµ HTCs ¿¡¼­´Â ÀÌ·¯ÇÑ ¸ñÀûÀ» À§Çؼ­ ´ÙÀ½°ú °°Àº µÎ °¡Áö À̺¥Æ®¸¦ Ãß°¡ÀûÀ¸·Î Á¦°øÇØÁØ´Ù. »ç½Ç ÀÌ ¿Ü¿¡µµ µÎ °³ÀÇ À̺¥Æ®°¡ ´õ Á¦°øµÇÁö¸¸ ÀÏ´Ü º»¹®¿¡¼­´Â ³íÀÇÇÏÁö ¾Ê´Â´Ù.

• onContentReady 
• onDocumentReady 

°¢°¢ÀÇ À̺¥Æ® À̸§¸¸À¸·Îµµ ½±°Ô ¿¹»óÇÒ ¼ö ÀÖ´Â °Íó·³ ù ¹øÂ° À̺¥Æ®´Â HTCs °¡ Àû¿ëµÈ HTML ÅÂ±× ÀÚü°¡ ÆÄ½ÌµÈ Á÷ÈÄ¿¡ ¹ß»ýÇϰí, µÎ ¹øÂ° À̺¥Æ®´Â HTML ¹®¼­ Àüü°¡ ¸ðµÎ ÆÄ½ÌµÈ µÚ¿¡ ¹ß»ýÇÑ´Ù. Áï µÎ ¹øÂ° À̺¥Æ® °°Àº °æ¿ì´Â BODY ű×ÀÇ onLoad À̺¥Æ®¿Í °ÅÀÇ °°Àº ¿ªÈ°À» ÇÑ´Ù°í º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª onLoad À̺¥Æ® Çîµé·¯¸¦ ±¸ÇöÇÑ °æ¿ì¿¡´Â ÀÛ¾÷ ´ë»ó ű׸¦ ÀÏÀÏÀÌ ÁöÁ¤ÇØÁÖ¾î¾ß ÇÏ´Â ¹Ý¸é onDocumentReady À̺¥Æ®´Â ÀÛ¾÷ÀÇ Æ÷Ä¿½º°¡ HTCs ÀÚ½ÅÀÌ Àû¿ëµÈ HTML ÅÂ±× ÀÚü¿¡ ÁýÁߵǹǷΠ³í¸®ÀûÀÎ ±¸ÇöÀÌ ¸Å¿ì ¿ëÀÌÇÏ´Ù´Â ÀåÁ¡À» °¡Áö°í ÀÖ´Ù. °á·ÐÀûÀ¸·Î 2. ¹ø ¼¼ºÎ »çÇ×À» ±¸ÇöÇϱ⿡ °¡Àå ÀûÇÕÇÑ À̺¥Æ®´Â onContentReady À̺¥Æ®¶ó°í ¸»ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. µû¶ó¼­ À̹ø¿¡´Â onContentReady À̺¥Æ® Çîµé·¯¸¦ ±¸ÇöÇØº¸µµ·Ï ÇÏÀÚ.

À̺¥Æ®¿Í À̺¥Æ® Çîµé·¯°£ÀÇ ¿¬°áÀº PUBLIC:ATTACH ¿¤·¹¸ÕÆ® ű׸¦ »ç¿ëÇÏ¿© ¼³Á¤ÇÑ´Ù. À̸¦Å׸é Áö±Ý ¿ì¸®µéÀÌ ±¸ÇöÇϰíÀÚ ÇÏ´Â onContentReady À̺¥Æ®ÀÇ °æ¿ì, À̺¥Æ® Çîµé·¯ÀÇ ÇÔ¼ö¸íÀ» evtContentReady() ·Î ÀÛ¼ºÇϱâ·Î °áÁ¤Çß´Ù¸é ´ÙÀ½°ú °°Àº ¿¤·¹¸ÕÆ® ű׸¦ ÀÛ¼ºÇÏ°Ô µÈ´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    
</PUBLIC:COMPONENT>
±×¸®°í ±× ´ÙÀ½¿¡´Â ´ÙÀ½°ú °°ÀÌ À̺¥Æ® Çîµé·¯¸¦ ±¸ÇöÇÑ ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö¸¦ ÀÛ¼ºÇÑ´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        ...
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>
¹º°¡ Á¶±Ý¾¿ ÇÁ·Î±×·¡¹ÖÀ» Çϰí ÀÖ´Ù´Â ±âºÐÀÌ µé±â ½ÃÀÛÇÑ´Ù. ÀÌÁ¦ º»°ÝÀûÀ¸·Î ÇÊ¿äÇÑ ·ÎÁ÷À» ±¸ÇöÇØº¸µµ·Ï ÇÏÀÚ. HTCs ¿¡¼­ Ãß°¡ÀûÀ¸·Î Á¦°øÇØÁÖ´Â °³Ã¼Áß¿¡ element ¶ó´Â °³Ã¼°¡ Àִµ¥ ÀÌ °³Ã¼´Â ÇØ´ç HTCs °¡ Ãß°¡µÈ HTML ÅÂ±× ÀÚü¿¡ ´ëÇÑ ÂüÁ¶¸¦ ¸®ÅÏÇØÁØ´Ù. µû¶ó¼­ ¾à°£ Â÷ÀÌÁ¡ÀÌ Á¸ÀçÇϱä ÇÏÁö¸¸ ÀÚ¹Ù½ºÅ©¸³¿¡¼­ Á¦°øµÇ´Â this Ű¿öµå¿Íµµ ºñ½ÁÇÑ °³³äÀ̶ó°í º¼ ¼ö ÀÖÀ¸¸ç, ÄÚµå»ó¿¡¼­ ¸Å¿ì Æí¸®ÇÏ°Ô »ç¿ëÀÌ °¡´ÉÇÏ´Ù. ´ÙÀ½ÀÇ Äڵ带 »ìÆìº¸¸é element °³Ã¼ÀÇ ¿ªÈ°À» ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        element.runtimeStyle.textAlign = "right";
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>
´ÜÁö ÇÑ ÁÙÀÇ Äڵ常À¸·Î ¿ì¸®µéÀÌ ±¸ÇöÇϰíÀÚ Çß´ø 2. ¹ø ¼¼ºÎ »çÇ×ÀÇ ±¸ÇöÀÌ ¸ðµÎ ¸¶¹«¸® µÇ¾ú´Ù. Äڵ尡 µ¿ÀÛÇÏ´Â ½ÃÁ¡ÀÌ¶ó´ø°¡ ±× ±â´É¿¡ À־ Àϸ»ÀÇ ºÎÁ·ÇÔµµ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. Âü°í·Î element Ű¿öµå´Â »ý·«ÀÌ °¡´ÉÇÏÁö¸¸ ÄÚµå °¡µ¶¼º µîÀ» ÀÌÀ¯·Î ±×¸® ±ÇÀåµÇÁö´Â ¾Ê´Â´Ù. ³ªÁß¿¡ µû·Î ³íÀǸ¦ ÇϰÚÁö¸¸ Ư¼öÇÑ °æ¿ì¿¡¼­´Â ³­ÇØÇÑ ¿À·ù¸¦ ¹ß»ý½Ãų ¼öµµ ÀÖÀ¸¹Ç·Î Á¶±Ý ±ÍÂú´õ¶óµµ Ç×»ó element Ű¿öµå¸¦ ÀÔ·ÂÇÏ´Â ¹ö¸©À» µéÀ̵µ·Ï ÇÏÀÚ. °è¼ÓÇØ¼­ 3. ¹ø ¼¼ºÎ »çÇ×µµ 2.¹ø ¼¼ºÎ »çÇ׿¡ ¹Ù·Î µÚÀ̾ ±¸ÇöÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ´ÙÀ½ÀÇ Äڵ带 »ìÆìº¸ÀÚ.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        element.runtimeStyle.textAlign = "right";
        
        if (trim(element.value).length == 0)
            element.value = "0";
    }
    
    function trim(sourceString)
    {
        return sourceString.replace(/(?:^\s+|\s+$)/ig, "");
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>
À̹ø¿¡µµ ¿ª½Ã ´Ü ¸î ÁÙÀÇ Äڵ常À¸·Î ¸ðµç ¼¼ºÎ ±¸ÇöÀÌ ¸¶¹«¸® µÇ¾ú´Ù. º°´Ù¸£°Ô ƯÀÌÇÑ ÄÚµå´Â Á¸ÀçÇÏÁö ¾ÊÀ¸¸ç Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© ºñº£½ºÅ©¸³Æ®ÀÇ Trim() ÇÔ¼ö¿Í °°Àº ±â´ÉÀ» ±¸ÇöÇÑ trim() ÇÔ¼ö°¡ Á¤µµ°¡ ´«¿¡ ¶è´Ù. ±×·¯³ª ´ëºÎºÐÀÇ ÄÚµåµéÀº ÀϹÝÀûÀÎ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå ±¸Çö¿¡¼­µµ ´Ã »ç¿ëÇÏ´ø °Íµé »ÓÀÌ´Ù. ±×·¸´Ù¸é Áö±Ý±îÁö ±¸ÇöÇÑ °á°ú¸¦ Áß°£ Á¡°ËÀÇ Â÷¿ø¿¡¼­ ÇÑ ¹ø ½ÇÁ¦·Î Àû¿ëÇØ º¸µµ·Ï ÇÏÀÚ. ´ÙÀ½ÀÇ INPUT űװ¡ ¹Ù·Î ±× °á°ú¸¦ º¸¿©ÁÖ°í Àִµ¥, Á¤»óÀûÀ¸·Î Àß ÀÛµ¿Çϰí ÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

     

<input type="text" id="HTCs1" style="behavior: url(asp_0016_01.htc);">
±×·¯¸é À̹ø¿¡´Â 4. ¹ø ¼¼ºÎ »çÇ×À» ±¸ÇöÇØº¸µµ·Ï ÇÏÀÚ. Àá½Ã¸¸ »ý°¢Çغ¸¸é ¾Ë°ÚÁö¸¸ 4. ¹ø ¼¼ºÎ »çÇ×µµ ¿ª½Ã º°´Ù¸¦ °ÍÀÌ ¾ø´Â ±â´ÉÀÌ´Ù. ´Ù¸¸ À̹ø¿¡´Â onFocus À̺¥Æ®°¡ ·ÎÁ÷À» ±¸ÇöÇÒ À§Ä¡·Î ÀûÀýÇÒ °Í °°´Ù´Â ÆÇ´ÜÀε¥, µû¶ó¼­ ¾Õ¿¡¼­ ¼³¸íÇÑ ³»¿ëÀ» ÀÀ¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ±¸ÇöÀÌ °¡´ÉÇØÁø´Ù. Àç¹ÌÀÖ´Â °ÍÀº ÀÛ¾÷ ³»¿ëÀ» º¸¸é º¼¼ö·Ï GUI ȯ°æ¸¸ Á¦°øµÇÁö ¾Ê´Â´Ù »ÓÀÌÁö ºñÁÖ¾ó º£ÀÌÁ÷ µîÀÇ 4GL ·ù ÇÁ·Î±×·¡¹Ö ¾ð¾îµé¿¡¼­ Á¦°øµÇ´Â À̺¥Æ® Áß½ÉÀûÀÎ ÇÁ·Î±×·¡¹Ö ¹æ½Ä°ú ¸Å¿ì À¯»çÇÏ´Ù´Â Á¡ÀÌ´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    <PUBLIC:ATTACH event="onfocus" for="element" onevent="evtFocus();" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        element.runtimeStyle.textAlign = "right";
        
        if (trim(element.value).length == 0)
            element.value = "0";
    }
    
    function evtFocus()
    {
        element.select();
    }
    
    function trim(sourceString)
    {
        return sourceString.replace(/(?:^\s+|\s+$)/ig, "");
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>
À̹ø¿¡´Â 5. ¹ø, 6. ¹ø, 7. ¹ø ¼¼ºÎ »çÇ×µéÀ» ¸ðµÎ ÇѲ¨¹ø¿¡ ±¸ÇöÇØº¸µµ·Ï ÇÏÀÚ. ºñ·Ï ¿©·¯ °¡Áö Ç׸ñµé·Î ³ª´²Áö±ä ÇßÁö¸¸ °á±¹ ÀÌ ¼¼ºÎ »çÇ×µéÀº ¸ðµÎ ÇÑ °¡Áö °øÅëÀÇ ¸ñÀûÀ» ´Þ¼ºÇϱâ À§ÇÑ °ÍµéÀ̸ç, ÀÌ HTCs ÀÇ ÇÙ½ÉÀ̶ó°íµµ ¸»ÇÒ ¼ö ÀÖ´Â ºÎºÐÀÌ´Ù. ¼¼ºÎ »çÇ× Á¤ÀÇ¿¡ µû¸£¸é 0 ºÎÅÍ 9 ±îÁöÀÇ ¼ýÀÚ ÀÌ¿ÜÀÇ °ªÀº ¾ÖÃÊ¿¡ Űº¸µå°¡ ´­·ÁÁ®µµ ÀÔ·Â ÀÚü°¡ µÇÁö ¾Ê¾Æ¾ß¸¸ ÇÑ´Ù. µû¶ó¼­ Űº¸µå ÀÔ·ÂÀÌ ¹ß»ýÇÒ ¶§¸¶´Ù ÀÔ·ÂµÈ Å° °ªÀ» °Ë»çÇÏ¿© ±× ÀԷ°ª¿¡ µû¶ó ÀûÀýÇÑ Ã³¸®¸¦ ¼öÇàÇØ¾ß¸¸ ÇÏ´Â °ÍÀÌ´Ù. ±×·±µ¥ ¿©±â¿¡ ÇÑ °¡Áö ÁÖÀÇÇØ¾ß¸¸ ÇÒ ºÎºÐÀÌ ÀÖ´Ù. Ű ÀÔ·Â ÀÚü´Â ¿©·¯ºÐµéµµ ½±°Ô ¿¹»óÇÒ ¼ö ÀÖ´Â °Íó·³ onKeydown µîÀÇ À̺¥Æ® Çîµé·¯¸¦ ±¸ÇöÇÏ¿© °¨ÁöÇÏ¸é µÈ´Ù. ±×¸®°í ÀÔ·ÂµÈ Å°ÀÇ °ªÀº event °³Ã¼ÀÇ keyCode ÇÁ·ÎÆÛƼ °ªÀ» °Ë»çÇÏ¸é ¾Ë ¼ö ÀÖÀ¸¹Ç·Î ÀϰßÇϱ⿡ ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Â °Íó·³ º¸ÀδÙ. ±×·±µ¥ ¹®Á¦´Â ³­°¨ÇϰԵµ ÇÑ±Û ÀÔ·Â ¸ðµå¿¡¼­´Â Ű ÀÔ·Â °ü·Ã À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù´Â »ç½ÇÀÌ´Ù. ±×·¡¼­ ÀÔ·ÂµÈ Å°ÀÇ °ªÀ» °Ë»çÇÒ ¼ö°¡ ¾ø°í, µû¶ó¼­ ¿ì¸®µéÀÌ ¿øÇÏÁö ¾Ê´Â ¹®ÀÚ°¡ ÀԷµǴ °ÍÀ» ¸·À» ¹æ¹ýÀÌ ¾ø´Ù. ´Ù½Ã ÇÑ ¹ø ¾ê±âÇÏÁö¸¸ À̺¥Æ®°¡ ¹ß»ýÇÏ°í °ªÀÌ ³Ñ¾î°¡Áö ¾Ê´Â µîÀÇ Çö»óÀÌ ÀϾ´Â °ÍÀÌ ¾Æ´Ï¶ó ¾Æ¿¹ À̺¥Æ® ÀÚü°¡ ¹ß»ýÁ¶Â÷ ÇÏÁö ¾Ê´Â´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ­ ´ÙÀ½°ú °°Àº Äڵ带 onFoucs À̺¥Æ®ÀÇ À̺¥Æ® Çîµé·¯¿¡ Ãß°¡ÇØÁØ´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    <PUBLIC:ATTACH event="onfocus" for="element" onevent="evtFocus();" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        element.runtimeStyle.textAlign = "right";
        
        if (trim(element.value).length == 0)
            element.value = "0";
    }
    
    function evtFocus()
    {
        element.runtimeStyle.imeMode = "disabled";
        element.select();
    }
    
    function trim(sourceString)
    {
        return sourceString.replace(/(?:^\s+|\s+$)/ig, "");
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>
Àç¹ÌÀÖ°Ôµµ ÀÌ ÇÑ ÁÙÀÇ ÄÚµå´Â ¾Æ¿¹ ÇÑ±Û ÀÔ·Â ±â´ÉÀ» Á¦°ÅÇØ¹ö¸°´Ù. ´Ù½Ã ¸»ÇÏÀÚ¸é ÇÑ±Û ÀÔ·ÂÀ» À̺¥Æ®°¡ °¨ÁöÇÒ ¼ö ÀÖµµ·Ï ±â´ÉÀ» º¸Á¤ÇØÁÖ´Â °ÍÀÌ ¾Æ´Ï¶ó, °Å²Ù·Î ÇѱÛÀÇ ÀÔ·Â ÀÚü¸¦ ºÒ°¡´ÉÇÏ°Ô ¸¸µé¾î¼­ °á°úÀûÀ¸·Î´Â Űº¸µå ÀԷ°ú °ü·ÃµÈ À̺¥Æ® Çîµé·¯¿¡¼­ °¨ÁöÇÒ ¼ö Àִ Ű ÀԷ¸¸À» Çã¿ëÇÏ¿© ±× ¸ñÀûÀ» ´Þ¼ºÇÏ°Ô µÈ´Ù. ¹°·Ð ÀÌ ÄÚµå´Â ÇØ´ç HTML ű׸¸À» ´ë»óÀ¸·Î µ¿ÀÛÇϹǷΠ±× ¹ÛÀÇ ´Ù¸¥ HTML ű׿¡¼­´Â Á¤»óÀûÀ¸·Î Űº¸µå ÀÔ·Â ÀÛ¾÷À» ó¸®ÇÒ ¼ö ÀÖ´Ù. IME (Input Method Editor) ¿¡ °üÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸µéÀº ¿©±â¸¦ Âü°íÇϱ⠹ٶõ´Ù. Á¶±Ý¸¸ »ìÆìº¸¸é ¸î °¡Áö Àç¹ÌÀÖ´Â ÀÀ¿ë ¹æ¹ýµéÀ» ¹ß°ßÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌÁ¦ ÇÑ±Û ¹®Á¦°¡ ÇØ°áµÇ¾úÀ¸¹Ç·Î ±× ´ÙÀ½ ±¸Çö ´Ü°è·Î ³Ñ¾î°¡±â·Î ÇÏÀÚ. ¿ì¼± Űº¸µåÀÇ ÀÔ·ÂÀ» °¨ÁöÇϱâ À§Çؼ­´Â onKeydown À̺¥Æ®ÀÇ Çîµé·¯¸¦ ±¸ÇöÇϱâ·Î ÇÑ´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ Å°´Â event °³Ã¼ÀÇ keyCode ÇÁ·ÎÆÛƼ¸¦ »ç¿ëÇÏ¿© ¼Õ½±°Ô ÆÄ¾ÇÀÌ °¡´ÉÇѵ¥, ±× °á°ú¿¡ µû¶ó¼­ event °³Ã¼ÀÇ returnValue ÇÁ·ÎÅÍÆ¼¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ» ¹Þ¾ÆµéÀÏ °ÍÀÎÁö ¾Æ´Ï¸é ¹«½ÃÇÒ °ÍÀÎÁö ó¸®ÇÑ´Ù. ´ÙÀ½ ÄÚµå´Â ±× ±¸Çö °á°úÀÌ´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    <PUBLIC:ATTACH event="onfocus" for="element" onevent="evtFocus();" />
    <PUBLIC:ATTACH event="onkeydown" for="element" onevent="evtKeydown();" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        element.runtimeStyle.textAlign = "right";
        
        if (trim(element.value).length == 0)
            element.value = "0";
    }
    
    function evtFocus()
    {
        element.runtimeStyle.imeMode = "disabled";
        element.select();
    }
    
    function evtKeydown()
    {
        var nKey = event.keyCode;
        
        if (event.ctrlKey)
        {
            if (nKey == 65 || nKey == 67 || nKey == 82 || 
                nKey == 86 || nKey == 88 || nKey == 90)
                event.returnValue = true;
            else
                event.returnValue = false;
        }
        else
        {
            if ((nKey >= 48 && nKey <= 57)  || 
                (nKey >= 96 && nKey <= 105) || 
                (nKey >= 33 && nKey <= 40)  ||
                 nKey == 8  || nKey == 9  || nKey == 27  || nKey == 43  || 
                 nKey == 45 || nKey == 46 || nKey == 107 || nKey == 109
               )
                event.returnValue = true;
            else
                event.returnValue = false;
        }
    }
    
    function trim(sourceString)
    {
        return sourceString.replace(/(?:^\s+|\s+$)/ig, "");
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>
´ÜÁö if ¹®ÀÌ Á¶±Ý º¹ÀâÇØ¼­ ¾î·Á¿î °Íó·³ º¸ÀÌ´Â °ÍÀÏ »ÓÀÌ°í ½ÇÁúÀûÀÎ ±¸Çö ³»¿ëÀº ¸Å¿ì °£´ÜÇÏ´Ù. ±»ÀÌ ¼³¸íÀ» ÇÑ´Ù¸é ÀԷ°ªÀ» ¹Þ¾ÆµéÀÌ°í ½ÍÀº °æ¿ì¶ó¸é event °³Ã¼ÀÇ returnValue ÇÁ·ÎÆÛƼ °ª¿¡ true ¸¦ ¼³Á¤ÇÏ°í ¹Ý´ë·Î ¹Þ¾ÆµéÀÌ°í ½ÍÁö ¾Ê´Ù¸é false ¸¦ ¼³Á¤ÇÏ¸é ±×¸¸ÀÎ °ÍÀÌ´Ù. ±×·¯¹Ç·Î ºñ½ÁÇÑ º°µµÀÇ ·ÎÁ÷À» ±¸ÇöÇØ¾ß ÇѴٰųª Çʿ信 µû¶ó ¾à°£ÀÇ ¼öÁ¤ÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡´Â Á¶°Ç¹®ÀÇ ÀϺΠŰ Äڵ尪 ºÎºÐ¸¸ Á¶Á¤ÇÏ¸é µÈ´Ù. ±×¸®°í Âü°íÀûÀ¸·Î ÇÑ °¡Áö ÁÖÀÇÇØ¾ß ÇÒ °ÍÀº keyCode ÇÁ·ÎÆÛƼ°¡ ¸®ÅÏÇÏ´Â °ªÀº ¾Æ½ºÅ° Äڵ尡 ¾Æ´Ï¶ó À¯´ÏÄÚµåÀÇ Å° ÄÚµå¶ó´Â Á¡ÀÌ´Ù. µû¶ó¼­ ´ç¿¬È÷ ¾Æ½ºÅ° ÄÚµå¶ó°í ÁüÀÛÇϰí ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ带 ÀÛ¼ºÇÏ¸é ³¶ÆÐ¸¦ º¸´Â °æ¿ì°¡ ¹ß»ýÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î ÀÌ Á¡¿¡ ÁÖÀÇÇϱ⠹ٶõ´Ù. ´ëÇ¥ÀûÀÎ ¿¹·Î Űº¸µå »ó´Ü¿¡ À§Ä¡ÇÑ ¼ýÀÚ۵é°ú Űº¸µå ¿ìÃø Ű ÆÐµå¿¡ À§Ä¡ÇÑ ¼ýÀÚ۵éÀÇ keyCode ÇÁ·ÎÆÛƼ °ªÀº ¼­·Î ´Ù¸£´Ù.

ÀÌÁ¦ ±× ´ÙÀ½À¸·Î 8. ¹ø ¼¼ºÎ »çÇ×À» ±¸ÇöÇØº¸µµ·Ï ÇÏÀÚ. »ç¿ëÀÚµéÀÌ Á÷Á¢ Űº¸µå¸¦ »ç¿ëÇÏ¿© ÀÔ·ÂÇÑ °ªµéÀº ¾Õ¿¡¼­ ±¸ÇöÇÑ onKeydown À̺¥Æ®ÀÇ À̺¥Æ® Çîµé·¯ ¼öÁØ¿¡¼­ ÀûÀýÇÏ°Ô Ã³¸®°¡ µÇ¾îÁø´Ù. ±×·¯³ª Áö±Ý ¿ì¸®µéÀÌ ±¸ÇöÇϰí ÀÖ´Â HTCs ¿¡¼­´Â ºÙ¿©³Ö±â ±â´ÉÀÌ Çã¿ëµÇ¹Ç·Î ¿©ÀüÈ÷ ¿ì¸®µéÀÌ ¿øÇÏÁö ¾Ê´Â À߸øµÈ °ªÀÌ ÀԷµǾîÁú ¼ö ÀÖ´Â ¿©Áö¸¦ ³²±â°í ÀÖ´Ù. µû¶ó¼­ ±×¿¡ ´ëºñÇÏ¿© ÇØ´ç HTML űװ¡ Æ÷Ä¿½º¸¦ ÀÒÀ» ¶§, Áï onBlur À̺¥Æ®°¡ ¹ß»ýÇÒ ¶§ ÇÑ ¹ø ´õ À¯È¿¼º °Ë»ç¸¦ ¼öÇàÇØ¾ß¸¸ Çϰí, HTCs ÀÇ ÃÖÁ¾ ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ ±¸ÇöµÇ¾îÁø´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    <PUBLIC:ATTACH event="onfocus" for="element" onevent="evtFocus();" />
    <PUBLIC:ATTACH event="onblur" for="element" onevent="evtBlur();" />
    <PUBLIC:ATTACH event="onkeydown" for="element" onevent="evtKeydown();" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        element.runtimeStyle.textAlign = "right";
        
        if (trim(element.value).length == 0)
            element.value = "0";
    }
    
    function evtFocus()
    {
        element.runtimeStyle.imeMode = "disabled";
        element.select();
    }
    
    function evtKeydown()
    {
        var nKey = event.keyCode;
        
        if (event.ctrlKey)
        {
            if (nKey == 65 || nKey == 67 || nKey == 82 || 
                nKey == 86 || nKey == 88 || nKey == 90)
                event.returnValue = true;
            else
                event.returnValue = false;
        }
        else
        {
            if ((nKey >= 48 && nKey <= 57)  || 
                (nKey >= 96 && nKey <= 105) || 
                (nKey >= 33 && nKey <= 40)  ||
                 nKey == 8  || nKey == 9  || nKey == 27  || nKey == 43  || 
                 nKey == 45 || nKey == 46 || nKey == 107 || nKey == 109
               )
                event.returnValue = true;
            else
                event.returnValue = false;
        }
    }
    
    function evtBlur()
    {
        var objRegEx = /^\d+$/ig;
        
        if (!objRegEx.test(trim(element.value)))
            element.value = "0";
    }
    
    function trim(sourceString)
    {
        return sourceString.replace(/(?:^\s+|\s+$)/ig, "");
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>
Á´±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© ´ë»ó HTML űװ¡ Æ÷Ä¿½º¸¦ ÀÒÀ» ¶§ À¯È¿¼º ¿©ºÎ¸¦ ´Ù½Ã ÇÑ ¹ø °Ë»çÇϰí À¯È¿ÇÏÁö ¾ÊÀ¸¸é °ªÀ» 0 À¸·Î ÃʱâÈ­ÇÏ´Â ÄÚµåÀε¥, »ç½Ç ÀÌ °æ¿ì¿¡´Â Á¤±Ô Ç¥Çö½Ä ´ë½Å isNaN() ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù°í ÇØµµ ±×´ÙÁö ¹«¸®´Â ¾øÀ» °ÍÀÌ´Ù. ÀÌÁ¦ ¸¶Áö¸·À¸·Î ¸ðµç À̺¥Æ® Çîµé·¯ ÄÚµåÀÇ Á¦ÀÏ Ã¹ ºÎºÐ¿¡ ´ÙÀ½°ú °°Àº Äڵ带 Ãß°¡ÇÏ¿© 1. ¹ø ¼¼ºÎ »çÇ×À» ±¸ÇöÇϵµ·Ï ÇÑ´Ù. ÀÌ Äڵ尡 ó¸®ÇÏ´Â ÀÛ¾÷Àº HTCs °¡ Ãß°¡µÈ ´ë»ó HTML űװ¡ ŸÀÔÀÌ TEXT ÀÎ INPUT űװ¡ ¾Æ´Ñ °æ¿ì ¾Æ¹«·± ÀÛ¾÷µµ ½ÇÇàÇÏÁö ¾Ê°í ÇÔ¼ö¸¦ ºüÁ®³ª°¡µµ·Ï ÇÏ´Â ÀÏÀÌ´Ù. ÀÌ´Â °³¹ßÀÚµéÀÌ ½Ç¼ö·Î ¾û¶×ÇÑ HTML ű׿¡ ÇØ´ç HTCs ¸¦ Ãß°¡ÇÏ´Â °æ¿ì¸¦ ´ëºñÇϱâ À§ÇÑ °ÍÀÌ´Ù. ¿©·¯ºÐµé °¢ÀÚÀÇ ¼ºÇâ¿¡ µû¶ó °æ°í ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÏ´Â µîÀÇ Ãß°¡ÀûÀÎ ±¸ÇöÀ» ÇØµµ ±¦ÂúÀ» °ÍÀÌ´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    <PUBLIC:ATTACH event="onfocus" for="element" onevent="evtFocus();" />
    <PUBLIC:ATTACH event="onblur" for="element" onevent="evtBlur();" />
    <PUBLIC:ATTACH event="onkeydown" for="element" onevent="evtKeydown();" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        if (!checkTagType()) return;
        
        element.runtimeStyle.textAlign = "right";
        
        if (trim(element.value).length == 0)
            element.value = "0";
    }
    
    function evtFocus()
    {
        if (!checkTagType()) return;
        
        element.runtimeStyle.imeMode = "disabled";
        element.select();
    }
    
    function evtKeydown()
    {
        if (!checkTagType()) return;
        
        var nKey = event.keyCode;
        
        if (event.ctrlKey)
        {
            if (nKey == 65 || nKey == 67 || nKey == 82 || 
                nKey == 86 || nKey == 88 || nKey == 90)
                event.returnValue = true;
            else
                event.returnValue = false;
        }
        else
        {
            if ((nKey >= 48 && nKey <= 57)  || 
                (nKey >= 96 && nKey <= 105) || 
                (nKey >= 33 && nKey <= 40)  ||
                 nKey == 8  || nKey == 9  || nKey == 27  || nKey == 43  || 
                 nKey == 45 || nKey == 46 || nKey == 107 || nKey == 109
               )
                event.returnValue = true;
            else
                event.returnValue = false;
        }
    }
    
    function evtBlur()
    {
        if (!checkTagType()) return;
        
        var objRegEx = /^\d+$/ig;
        
        if (!objRegEx.test(trim(element.value)))
            element.value = "0";
    }
    
    function trim(sourceString)
    {
        return sourceString.replace(/(?:^\s+|\s+$)/ig, "");
    }
    
    function checkTagType()
    {
        if (element.tagName.toUpperCase() == "INPUT" &&
            element.type.toUpperCase()    == "TEXT")
            return true;
                
        return false;
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>
À̰ÍÀ¸·Î ¿ì¸®µéÀÇ Ã¹ ¹øÂ° HTCs ÄÚµå ±¸ÇöÀÌ ¸ðµÎ ¸¶¹«¸® µÇ¾ú´Ù. ±×´ÙÁö ¾î·Á¿î ºÎºÐµµ ¾ø´Â °Í °°°í ÀÌÁ¤µµ¸é ±×·°Àú·° ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼­ »ç¿ëÇÒ ¼öµµ ÀÖÀ» °Í °°´Ù°í ´À²¸Áø´Ù. ±×·¯³ª °ú¿¬ ¿©±â¿¡¼­ ¸¸Á·Çصµ µÇ´Â °ÍÀϱî? ÇÊÀÚÀÇ ´ë´äÀº ´ç¿¬È÷ '¾Æ´Ï´Ù.' ÀÌ´Ù. ¸ÕÀú Áö±Ý±îÁö ¿ì¸®µéÀÌ ÀÛ¼ºÇÑ HTCs °¡ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ´ÂÁö °£´ÜÇÏ°Ô Å×½ºÆ®¸¦ ÇØº¸°í ´Ù½Ã º¸´Ù ±íÀº ÁÖÁ¦¿¡ °üÇØ¼­ ³íÀÇÇØº¸µµ·Ï ÇÏÀÚ.

     

<input type="text" id="HTCs2" style="behavior: url(asp_0016_02.htc);">
ÀÏ´ÜÀº À§ÀÇ INPUT ÅÂ±× ¿¹Á¦¸¦ ÅëÇØ¼­ º»¹®¿¡¼­ ¿ì¸®µéÀÌ ±¸ÇöÇÑ HTCs °¡ ÀüÇô ¹®Á¦¾øÀÌ µ¿ÀÛÇϰí ÀÖ´Ù´Â Á¡À» È®ÀÎÇÒ ¼ö ÀÖ´Ù. 1. ¹ø ¼¼ºÎ »çÇ׺ÎÅÍ 8. ¹ø ¼¼ºÎ »çÇ×±îÁö ¸ðµç µ¿ÀÛµéÀÌ Á¤È®ÇÏ°Ô ±¸ÇöµÇ¾ú´Ù. ±×·¸´Ù¸é ±× ¿Ü¿¡ ¹º°¡ ´õ Äڵ带 ¹ßÀü½Ãų ºÎºÐÀº ¾øÀ»±î? ÇÊÀÚÀÇ °æ¿ì ´ÙÀ½°ú °°Àº »ç·Ê¸¦ »ý°¢ÇØ º¸¾Ò´Ù. ÇöÀç ±¸ÇöµÈ ´ë·Î¶ó¸é ´ë»ó HTML űװ¡ ·ÎµùµÈ Á÷ÈÄ ÀԷ°ªÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é °ªÀÌ 0 À¸·Î ÃʱâÈ­µÈ´Ù. ¶Ç´Â ºÙ¿©³Ö±â ±â´ÉÀ» ÅëÇÏ¿© ¼ýÀÚ°ªÀÌ ¾Æ´Ñ ¹®ÀÚ°¡ ÀԷµǴ °æ¿ì¿¡µµ, Áï À¯È¿ÇÏÁö ¾ÊÀº °ªÀÌ ÀԷµǴ °æ¿ì Æ÷Ä¿½º¸¦ ÀÒ´Â ½ÃÁ¡¿¡ ¿ª½Ã °ªÀÌ 0 À¸·Î ÃʱâÈ­ µÈ´Ù. ±×·¯³ª Ç×»ó ÀÌ °ªÀÌ 0 À̾î¾ß¸¸ ÇÒ Çʿ䰡 ÀÖÀ»±î? À̸¦Å׸é ÀÓÀÇÀÇ ÇÁ·ÎÁ§Æ®°¡ ÁøÇàµÇ°í ÀÖ´Ù°í °¡Á¤ÇÒ ¶§, °°Àº HTCs °¡ ¿ä±¸µÇ´Â µ¿ÀÏÇÑ ¿­ ¹øÀÇ ÄÉÀ̽º Áß¿¡¼­ ¾ÆÈ© ¹øÀº ÀÌ °ªÀÌ 0 À¸·Î ¼³Á¤µÇ¾î¾ß ÇÏÁö¸¸ ¸¶Áö¸· ÇÑ ¹øÀº 1 ·Î ¼³Á¤µÇ¾î¾ß ÇÑ´Ù¸é, ±×¸®°í ´ÜÁö ±× ÇÑ ¹øÀÇ °æ¿ì¸¦ À§Çؼ­ º°µµÀÇ HTCs ¸¦ ´Ù½Ã ÀÛ¼ºÇؾßÇÑ´Ù¸é ±×°ÍÀº ¸Å¿ì ½É°¢ÇÑ ¸®¼Ò½ºÀÇ ³¶ºñ¶ó´Â °ÍÀÌ ÇÊÀÚÀÇ »ý°¢ÀÌ´Ù. ±×·¯³ª ´ÙÇེ·´°Ôµµ HTCs ¿¡¼­´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ¸Å¿ì ÇÕ¸®ÀûÀÌ°íµµ È¿À²ÀûÀÎ ¹æ¹ýÀ» ÀÌ¹Ì Á¦½ÃÇØÁÖ°í ÀÖÀ¸¸ç ¹Ù·Î PUBLIC:PROPERTY ¿¤·¹¸ÕÆ® ű׸¦ ÅëÇØ¼­ ±× ½ÇÁúÀûÀÎ ±¸ÇöÀÌ °¡´ÉÇÏ´Ù.

ÀÌ ¿¤·¹¸ÕÆ® ű״ ¿©·¯ºÐµéÀÌ ½±°Ô »ý°¢ÇÒ ¼ö Àִ Ŭ·¡½ºÀÇ ÇÁ·ÎÆÛƼ¿Í Á¤È®ÇÏ°Ô µ¿ÀÏÇÑ ±â´ÉÀ» Á¦°øÇØÁØ´Ù. ±âº»°ªÀ» ¼³Á¤ÇÒ ¼öµµ ÀÖ°í »ç¿ëÀÚ, Áï ÀÌ °æ¿ì¿¡´Â HTCs ¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ °³¹ßÀÚ°¡ ÀÓÀÇ·Î °ªÀ» º¯°æÇÒ ¼öµµ ÀÖ´Ù. ½ÉÁö¾î´Â Put ¼Ó¼ºÀ̳ª Get ¼Ó¼ºÀ» ÅëÇÑ ÇÁ·ÎÆÛƼ ÇÔ¼öÀÇ ±¸Çö±îÁöµµ Á¦°øÇØÁØ´Ù. ÀÏ´Ü º»¹®¿¡¼­´Â ºÎ´ãÀ» ÁÙÀ̱â À§ÇØ °£´ÜÇÑ »ç¿ë¹ýºÎÅÍ ¸ÕÀú »ìÆìº¸°í ´ÙÀ½±Û¿¡¼­ º¸´Ù ±íÀº ºÎºÐ±îÁö ³íÀǸ¦ ÇØº¸µµ·Ï ÇϰڴÙ. ±×·¯¸é ±âÁ¸ Äڵ忡 ´ÙÀ½°ú °°ÀÌ PUBLIC:PROPERTY ¿¤·¹¸ÕÆ® ű׸¦ Ãß°¡Çغ¸ÀÚ. ÀÌ ÅÂ±× ¼±¾ðÀº defaultValue ¶ó´Â À̸§À¸·Î ÇÁ·ÎÆÛƼ¸¦ »ý¼ºÇÏ°í ±âº»°ªÀ» 0 À¸·Î ¼³Á¤ÇÏ´Â °á°ú¸¦ ¾ò°Ô ÇØÁØ´Ù.

    <PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    <PUBLIC:ATTACH event="onfocus"        for="element" onevent="evtFocus();"        />
    <PUBLIC:ATTACH event="onblur"         for="element" onevent="evtBlur();"         />
    <PUBLIC:ATTACH event="onkeydown"      for="element" onevent="evtKeydown();"      />
    
    <PUBLIC:PROPERTY name="defaultValue" value="0" />
    
    ...
ÀÏ´Ü ÀÌ·¸°Ô ÇÁ·ÎÆÛƼ°¡ ¼±¾ðµÇ°í ³ª¸é ´Ù¸¥ ÇÁ·Î±×·¥ ¾ð¾î¿¡¼­ Á¦°øµÇ´Â Ŭ·¡½ºÀÇ ÇÁ·ÎÆÛƼ¿Í µ¿ÀÏÇÏ°Ô ´ÙÀ½°ú °°ÀÌ ³»ºÎÀûÀ¸·Î ¸¶Ä¡ ÀϹÝÀûÀÎ º¯¼öÀÎ °Íó·³ »ç¿ëÀÌ °¡´ÉÇØÁø´Ù.

 ...
    
    function evtBlur()
    {
        if (!checkTagType()) return;
        
        var objRegEx = /^\d+$/ig;
        
        if (!objRegEx.test(trim(element.value)))
            element.value = defaultValue;
    }
    
    ...
°á°úÀûÀ¸·Î ÀÌ ¸ðµç ³»¿ëµéÀÌ ±¸ÇöµÈ HTCs ´Â ´ÙÀ½ ÄÚµå¿Í °°À» °ÍÀÌ´Ù. ±×·±µ¥ Áö±Ý±îÁö »ìÆìº» ³»¿ëµé¸¸À» °¡Áö°í »ý°¢Çغ»´Ù¸é ÇÁ·ÎÆÛƼ¶ó°í ÇØ¼­ ±×´ÙÁö À¯¿ëÇÒ °Í °°Áö´Â ¾Ê´Ù. ±×·¸Áö¸¸ ÀÚ°í·Î ÇÁ·ÎÆÛƼ¶ó´Â °³³ä¿¡´Â µðÀÚÀΠŸÀÓÀ̳ª ·±Å¸ÀÓ¿¡ ¿ÜºÎ¿¡¼­ ±× °ªÀ» ÆíÁýÇÒ ¼ö ÀÖ´Ù´Â Àǹ̰¡ ´ã°ÜÀÖ´Ù´Â »ç½ÇÀ» ÀØÀ¸¸é ¾ÈµÈ´Ù. ¾Õ¿¡¼­µµ ³íÀÇÇÑ ¹Ù¿Í °°ÀÌ PUBLIC:PROPERTY ¿¤·¹¸ÕÆ® ű׵µ ¿ª½Ã ¸¶Âú°¡ÁöÀÇ ±â´ÉÀ» Á¦°øÇØÁØ´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    <PUBLIC:ATTACH event="onfocus"        for="element" onevent="evtFocus();"        />
    <PUBLIC:ATTACH event="onblur"         for="element" onevent="evtBlur();"         />
    <PUBLIC:ATTACH event="onkeydown"      for="element" onevent="evtKeydown();"      />
    
    <PUBLIC:PROPERTY name="defaultValue" value="0" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        if (!checkTagType()) return;
        
        element.runtimeStyle.textAlign = "right";
        
        if (trim(element.value).length == 0)
            element.value = defaultValue;
    }
    
    function evtFocus()
    {
        if (!checkTagType()) return;
        
        element.runtimeStyle.imeMode = "disabled";
        element.select();
    }
    
    function evtKeydown()
    {
        if (!checkTagType()) return;
        
        var nKey = event.keyCode;
        
        if (event.ctrlKey)
        {
            if (nKey == 65 || nKey == 67 || nKey == 82 || 
                nKey == 86 || nKey == 88 || nKey == 90)
                event.returnValue = true;
            else
                event.returnValue = false;
        }
        else
        {
            if ((nKey >= 48 && nKey <= 57)  || 
                (nKey >= 96 && nKey <= 105) || 
                (nKey >= 33 && nKey <= 40)  ||
                 nKey == 8  || nKey == 9  || nKey == 27  || nKey == 43  || 
                 nKey == 45 || nKey == 46 || nKey == 107 || nKey == 109
               )
                event.returnValue = true;
            else
                event.returnValue = false;
        }
    }
    
    function evtBlur()
    {
        if (!checkTagType()) return;
        
        var objRegEx = /^\d+$/ig;
        
        if (!objRegEx.test(trim(element.value)))
            element.value = defaultValue;
    }
    
    function trim(sourceString)
    {
        return sourceString.replace(/(?:^\s+|\s+$)/ig, "");
    }
    
    function checkTagType()
    {
        if (element.tagName.toUpperCase() == "INPUT" &&
            element.type.toUpperCase()    == "TEXT")
            return true;
                
        return false;
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>
                
´ÙÀ½Àº Áö±Ý±îÁö ¿ì¸®µéÀÌ ±¸ÇöÇÑ ÃÖÁ¾ °á°ú¸¦ Àû¿ëÇÑ INPUT ű×ÀÌ´Ù. °£´ÜÇÏ°Ô ¸î °¡Áö Å×½ºÆ®¸¦ ÇØº¸¸é ½±°Ô ¾Ë ¼ö ÀÖ°ÚÁö¸¸ Áö±ÝÀ¸·Î¼­´Â ±âÁ¸ÀÇ °á°ú¿Í Å©°Ô ´Ù¸¥ Á¡ÀÌ ´«¿¡ ¶çÁö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌ´Â ¸Å¿ì ´ç¿¬ÇÑ °á°úÀε¥ HTCs ÀÇ ±¸Çö ³»¿ë°ú´Â º°°³·Î ±× »ç¿ë ¹æ¹ý¿¡ À־ Áö±Ý±îÁöÀÇ ¹æ¹ý°ú º°´Ù¸¥ Á¡ÀÌ ¾ø±â ¶§¹®ÀÌ´Ù. ÇöÀç±îÁö´Â ¿ì¸®µéÀÌ ±¸ÇöÇÑ ÄÚµå ±×´ë·Î defaultValue ÇÁ·ÎÆÛƼ¿¡ ±âº»°ªÀ¸·Î ¼³Á¤µÈ 0 °ªÀÌ ÄÚµå Àü¹Ý¿¡ °ÉÃļ­ »ç¿ëµÇ¹Ç·Î ±âÁ¸ÀÇ °á°ú¿Í ÀüÇô ´Ù¸¦ ¹Ù°¡ ¾ø´Â °ÍÀÌ´Ù.



<input type="text" id="Text1" style="behavior: url(asp_0016_03.htc);">

µû¶ó¼­ Äڵ带 °³¼±ÇÑ °á°ú¸¦ È®ÀÎÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ °³¼±ÇÑ ±â´ÉÀ» »ç¿ëÇϵµ·Ï ±× »ç¿ë¹ýÀ» ¹Ý¿µÇØ ÁÖ¾î¾ß¸¸ ÇÑ´Ù. ´ÙÀ½Àº °ªÀÌ ÀԷµÇÁö ¾Ê¾Ò°Å³ª À¯È¿ÇÏÁö ¾ÊÀº °ªÀÌ ÀÔ·ÂµÈ °æ¿ì 0 ´ë½Å 0000 ÀÌ ±âº»°ªÀ¸·Î ¼³Á¤µÇµµ·Ï ÁöÁ¤ÇÑ ÄÚµåÀÌ´Ù. ½Ç·Î °£´Ü¸í·áÇÑ Äڵ尡 ¾Æ´Ò ¼ö ¾ø´Ù. ¼±¾ðÇÑ ÇÁ·ÎÆÛƼ À̸§À» HTML ű׿¡¼­ Á÷Á¢ ¼Ó¼ºÀ¸·Î Á¢±ÙÇÏ´Â °ÍÀÌ °¡´ÉÇÑ °ÍÀÌ´Ù!



<input type="text" id="Text1" style="behavior: url(asp_0016_03.htc);" defaultValue="0000">

¸¸¾à ¿øÇÑ´Ù¸é ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ带 ÅëÇØ¼­µµ ÇØ´ç ÇÁ·ÎÆÛƼ¿¡ Á¢±ÙÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ´ÙÀ½ÀÇ ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö´Â ÀÎÀÚ·Î Àü´Þ¹ÞÀº °ªÀ» ÇØ´ç ű×ÀÇ defaultValue ÇÁ·ÎÆÛƼ¿¡ ¼³Á¤ÇÏ´Â ÇÔ¼ö¸¦ °£´ÜÇÏ°Ô ±¸ÇöÇØº» °ÍÀÌ´Ù. ÀÏ´Ü ÇÁ·ÎÆÛƼ °ªÀÌ º¯°æµÇ¾î ¼³Á¤µÈ ´ÙÀ½ºÎÅÍ´Â ¸ðµç µ¿ÀÛ¿¡¼­ º¯°æµÈ °ªÀÌ ¹Ý¿µµÈ´Ù. ±×³É °£´ÜÇÏ°Ô »ý°¢Çؼ­ ¿ì¸®µéÀÌ Æò¼Ò¿¡ COM ÄÄÆ÷³ÍÆ® °³Ã¼µéÀ» »ç¿ëÇÒ Àû¿ëµÇ´Â °³³ä°ú ¿Ïº®ÇÏ°Ô µ¿ÀÏÇÑ °³³äÀ¸·Î ¹Þ¾ÆµéÀÌ¸é µÉ °ÍÀÌ´Ù. HTCs ¿¡ ¼±¾ðµÈ ÇÁ·ÎÆÛƼ°¡ ÀÎÅÍ³Ý ÀͽºÇ÷η¯¿¡¼­ Á¦°øÇÏ´Â °³Ã¼¿Í ¿Ïº®ÇÏ°Ô °áÇÕµÇ¾î ¸¶Ä¡ º»·¡ºÎÅÍ Á¸ÀçÇÏ´ø ÇÁ·ÎÆÛƼÀÎ¾ç µ¿ÀÛÇÏ´Â °ÍÀÌ Àç¹ÌÀֱ⸸ ÇÏ´Ù.



¡æ Ŭ¸¯Çϸé defaultValue ÇÁ·ÎÆÛƼÀÇ °ªÀÌ 1111 ·Î ¼³Á¤µÈ´Ù.
¡æ Ŭ¸¯Çϸé defaultValue ÇÁ·ÎÆÛƼÀÇ °ªÀÌ 9999 ·Î ¼³Á¤µÈ´Ù.

<input type="text" id="HTCs5" style="behavior: url(asp_0016_03.htc);">

<SCRIPT language="javascript" type="text/javascript">
<!--
function setDefaultValue(strValue)
{
    document.getElementById("HTCs5").defaultValue = strValue;
}
//-->

Áö±Ý±îÁö ³íÀÇÇÑ ³»¿ë¸¸À¸·Îµµ ÃæºÐÈ÷ Èï¹Ì·Ó±â´Â ÇÏÁö¸¸ Á¶±Ý¸¸ ´õ ±í°Ô »ý°¢À» ÇØº¸µµ·Ï ÇÏÀÚ. Áö±Ý ¿ì¸®µéÀº ÇÁ·ÎÆÛƼ¿¡ °üÇØ¼­ ³íÀǸ¦ Çϰí ÀÖ´Ù. ±×·¸´Ù¸é ¸Þ¼­µå´Â? ´ç¿¬ÇÑ ¾ê±â°ÚÁö¸¸ ¸Þ¼­µå ±¸Çö ±â´Éµµ Á¦°øµÈ´Ù. ¿¹¸¦ µé¾î¼­ ¹Ù·Î À§¿¡¼­ »ùÇ÷ΠÀÛ¼ºÇÑ setDefaultValue() ÇÔ¼öÀÇ °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ. ÇÔ¼ö ÀÚü¿¡´Â ±×´ÙÁö ƯÀÌÇÑ ºÎºÐÀÌ ¾øÁö¸¸ ¹®Á¦´Â ÇÔ¼ö°¡ ±¸ÇöµÈ À§Ä¡´Ù. ÀÌ ÇÔ¼ö´Â HTCs ÀÚü¿Í´Â º°°³·Î HTML ¹®¼­ÀÇ ³»ºÎ¿¡ Á¤ÀǵǾîÁ® ÀÖ´Ù. ÀÌ ¾ê±â´Â °ð ÇØ´ç HTCs °¡ ÇÊ¿äÇÑ ¸ðµç HTML ¹®¼­¸¶´Ù ÇÊ¿äÇÑ °æ¿ì ¹Ýº¹Çؼ­ ÀçÁ¤ÀÇ µÇ¾î¾ßÇÑ´Ù´Â »ç½ÇÀ» ÀǹÌÇÏ´Â °ÍÀÌ´Ù. µû¶ó¼­ ÀÌ·± ¹æ½ÄÀ¸·Î´Â ±»ÀÌ HTCs ¸¦ ÀÛ¼ºÇÏ´Â Àǹ̰¡ ¹Ý°¨µÇ¾î ¹ö¸®°Ô µÈ´Ù. Ŭ·¡½º Ãß»óÈ­ÀÇ °üÁ¡¿¡¼­ º»´Ù¸é ÀÌ ÇÔ¼ö´Â HTCs ÀÇ ¸Þ¼­µå·Î Á¦°øµÇ´Â °ÍÀÌ ¸ÂÀ» °ÍÀÌ´Ù.

¸ÕÀú ´ÙÀ½°ú °°ÀÌ PUBLIC:METHOD ¿¤·¹¸ÕÆ® ÅÂ±× ¼±¾ðÀ» Ãß°¡ÇØÁØ´Ù. ±× Àǹ̴ ³Ê¹« °£´ÜÇØ¼­ µû·Î ¼³¸íÀÌ ÇÊ¿ä¾øÀ» Á¤µµ´Ù. ¹°·Ð ÀÌ ¿¤·¹¸ÕÆ® ű׵µ º¸´Ù ¼¼ºÎÀûÀÎ ¼³Á¤ÀÌ °¡´ÉÇÏÁö¸¸ ¾Õ¿¡¼­ ¾ê±âÇß´ø °Íó·³ ÀÏ´Ü º»¹®¿¡¼­´Â ÀÚ¼¼È÷ ´Ù·çÁö ¾Ê´Â´Ù. ÀÌ ºÎºÐ¿¡ ´ëÇØ¼­´Â ´ÙÀ½±Û¿¡¼­ ´Ù½Ã ÇÑ ¹ø ³íÀǸ¦ Çϵµ·Ï ÇϰڴÙ.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    <PUBLIC:ATTACH event="onfocus"        for="element" onevent="evtFocus();"        />
    <PUBLIC:ATTACH event="onblur"         for="element" onevent="evtBlur();"         />
    <PUBLIC:ATTACH event="onkeydown"      for="element" onevent="evtKeydown();"      />
    
    <PUBLIC:PROPERTY name="defaultValue" value="0" />
    
    <PUBLIC:METHOD name="setDefaultValue" />
    
    ...
¸Þ¼­µå°¡ ¼±¾ðµÇ¾úÀ¸¹Ç·Î ÀÌÁ¦ ½ÇÁ¦·Î ±¸Çö¸¸ ÇÏ¸é µÈ´Ù. ¹°·Ð °ÅâÇÏ°Ô ±¸ÇöÀ̶ó°í ¸»ÇغÁ¾ß ÀϹÝÀûÀÎ ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ý°ú ´ëµ¿¼ÒÀÌÇÏÁö¸¸ ¸»ÀÌ´Ù. ¾Æ¹«Æ° °á°úÀûÀ¸·Î´Â ´ÙÀ½°ú °°Àº HTCs Äڵ尡 ¿Ï¼ºµÇ¾îÁö´Âµ¥ À̰ÍÀÌ º»¹®¿¡¼­ ¿ì¸®µéÀÌ ±¸ÇöÇÏ´Â HTCs ÀÇ ÃÖÁ¾ ¹öÀüÀÌ´Ù. ¾ÆÁ÷±îÁö °³¼±ÇØ¾ß ÇÒ ºÎºÐµéÀÌ ¿©±âÀú±â »ó´çÈ÷ ¸¹ÀÌ ³²¾ÆÀÖ±ä ÇÏÁö¸¸ ÀÏ´Ü º»¹®¿¡¼­´Â ÀÌ Á¤µµ·Î ±¸ÇöÀ» ¸¶¹«¸®Çϱâ·Î ÇÑ´Ù. ¾Æ·¡ÀÇ Äڵ带 ¸¶¿ì½º·Î ¼±ÅÃÇÏ°í º¹»çÇÏ¿© .htc ÆÄÀÏÀ» »ý¼ºÇÏ¸é ¹Ù·Î »ç¿ëÀÌ °¡´ÉÇϹǷΠÁ÷Á¢ Å×½ºÆ®Çغ¸±â ¹Ù¶õ´Ù.

<PUBLIC:COMPONENT lightWeight="true">

    <PUBLIC:ATTACH event="oncontentready" for="element" onevent="evtContentReady();" />
    <PUBLIC:ATTACH event="onfocus"        for="element" onevent="evtFocus();"        />
    <PUBLIC:ATTACH event="onblur"         for="element" onevent="evtBlur();"         />
    <PUBLIC:ATTACH event="onkeydown"      for="element" onevent="evtKeydown();"      />
    
    <PUBLIC:PROPERTY name="defaultValue" value="0" />
    
    <PUBLIC:METHOD name="setDefaultValue" />
    
    <SCRIPT language="javascript" type="text/javascript">
    <!--
    
    function evtContentReady()
    {
        if (!checkTagType()) return;
        
        element.runtimeStyle.textAlign = "right";
        
        if (trim(element.value).length == 0)
            element.value = defaultValue;
    }
    
    function evtFocus()
    {
        if (!checkTagType()) return;
        
        element.runtimeStyle.imeMode = "disabled";
        element.select();
    }
    
    function evtKeydown()
    {
        if (!checkTagType()) return;
        
        var nKey = event.keyCode;
        
        if (event.ctrlKey)
        {
            if (nKey == 65 || nKey == 67 || nKey == 82 || 
                nKey == 86 || nKey == 88 || nKey == 90)
                event.returnValue = true;
            else
                event.returnValue = false;
        }
        else
        {
            if ((nKey >= 48 && nKey <= 57)  || 
                (nKey >= 96 && nKey <= 105) || 
                (nKey >= 33 && nKey <= 40)  ||
                 nKey == 8  || nKey == 9  || nKey == 27  || nKey == 43  || 
                 nKey == 45 || nKey == 46 || nKey == 107 || nKey == 109
               )
                event.returnValue = true;
            else
                event.returnValue = false;
        }
    }
    
    function evtBlur()
    {
        if (!checkTagType()) return;
        
        var objRegEx = /^\d+$/ig;
        
        if (!objRegEx.test(trim(element.value)))
            element.value = defaultValue;
    }
    
    function trim(sourceString)
    {
        return sourceString.replace(/(?:^\s+|\s+$)/ig, "");
    }
    
    function checkTagType()
    {
        if (element.tagName.toUpperCase() == "INPUT" &&
            element.type.toUpperCase()    == "TEXT")
            return true;
                
        return false;
    }
    
    function setDefaultValue(newValue)
    {
        element.defaultValue = newValue;
    }
    
    //-->
    </SCRIPT>
    
</PUBLIC:COMPONENT>                    
                    
¸Þ¼­µå°¡ »ý¼ºµÇ¾úÀ¸¹Ç·Î ÀÌÁ¦ ÀÚÀ¯·Ó°Ô »ç¿ëÀÌ °¡´ÉÇÏ´Ù. °Ô´Ù°¡ ¸Þ¼­µåÀÇ °æ¿ì¿¡µµ ÇÁ·ÎÆÛƼ¿Í À¯»çÇÏ°Ô ´ë»ó °³Ã¼¿¡¼­ º»·¡ºÎÅÍ Á¦°øÇÏ´ø ¸Þ¼ÒµåÀÎ °Íó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. °á·ÐÀûÀ¸·Î HTCs ·Î ÇÁ·ÎÆÛƼ¿Í ¸Þ¼­µå¸¸ ÀûÀýÇÏ°Ô ±¸ÇöÇØµµ ÇÊ¿äÇÑ ´ëºÎºÐÀÇ Å¬¶óÀ̾ðÆ®Ãø ¾÷¹« ·ÎÁ÷À» °£´ÜÇÏ°Ô Ã³¸®ÇØ ³¾ ¼ö ÀÖ´Â °ÍÀÌ´Ù.



Ŭ¸¯Çϸé defaultValue ÇÁ·ÎÆÛƼÀÇ °ªÀÌ 1111 ·Î ¼³Á¤µÈ´Ù
Ŭ¸¯Çϸé defaultValue ÇÁ·ÎÆÛƼÀÇ °ªÀÌ 9999 ·Î ¼³Á¤µÈ´Ù

<input type="text" id="HTCs6" style="behavior: url(asp_0016_final.htc);">

<a href="JavaScript:document.getElementById('HTCs6').setDefaultValue('1111');" ...
<a href="JavaScript:document.getElementById('HTCs6').setDefaultValue('9999');" ...

º»¹®¿¡¼­´Â °¡Àå ±âº»ÀûÀÎ ±â´ÉÀ» ±¸ÇöÇÏ´Â HTCs ¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ »ìÆìº¸¾Ò´Ù. ±×·¯³ª ¾Õ¿¡¼­µµ °è¼Ó ¾ê±âÇß´ø °Íó·³ À̰ÍÀÌ HTCs °¡ Á¦°øÇØÁÖ´Â ±â´ÉÀÇ ÀüºÎ´Â ¾Æ´Ï´Ù. º»¹®¿¡¼­ »ìÆìº» ÇÁ·ÎÆÛƼ³ª ¸Þ¼­µå¿¡ °üÇÑ ¼¼ºÎÀûÀÎ À̽´µéµµ ¾ÆÁ÷ ¸¹ÀÌ ³²¾ÆÀÖÀ¸¸ç, ¾ÆÁ÷±îÁö ¿ì¸®µéÀÌ ³íÀǸ¦ ½ÃÀÛÇÏÁö ¾ÊÀº ºÎºÐµéµµ »ó´çÈ÷ ¸¹´Ù. ¿¹¸¦ µé¾î¼­ »õ·Î¿î À̺¥Æ®¸¦ Á¤ÀÇÇÏ¿© ³ëÃâÇѴٰųª ÆÛÆ÷¸Õ½º¸¦ ³ôÀ̱â À§ÇÑ ÀÚÀßÇÑ ¼³Á¤µîÀÌ ¹Ù·Î ±×°ÍÀε¥ ÀÌ·¯ÇÑ ÁÖÁ¦µé¿¡ °üÇØ¼­´Â ´ÙÀ½±Û¿¡¼­ º»°ÝÀûÀ¸·Î ³íÀǸ¦ ÇØº¸µµ·Ï ÇϰڴÙ.

áä

 

°­Á ¸ñ·ÏÀ¸·Î..