Tel. 042-353-2371

ÆòÀÏ ¿ÀÀü 9½Ã ~ ¿ÀÈÄ 7½Ã
±â¾÷ÀºÇà

010-8649-6758

¿¹±ÝÁÖ:Á¦ÁÖ»ç¶û(¼ÛÁø¾Æ)
JAVASCRIPT
Ȩ > ȨÆäÀÌÁöÁ¦ÀÛ±³½Ç > JAVASCRIPT

Ä«Å×°í¸® Object
Á¦¸ñ Form design II
ÀÛ¼ºÀÚ freewebkorea
ÀÛ¼ºÀÏÀÚ 2009-12-09
Á¶È¸¼ö 1358

ÀԷ°ª °ËÁõ(validation)

ÀԷ°ª °ËÁõÀ̶õ À¥ »çÀÌÆ® »ó¿¡¼­ ÀÔ·Â ¾ç½Ä¿¡ ÀÛ¼ºµÇ¾î Àü¼ÛµÇ´Â µ¥ÀÌÅÍÀÇ °ª Áß¿¡ ºüÁø °ÍÀº ¾ø´ÂÁö, ¶Ç ¿Ã¹Ù¸¥ ÀԷ°ªÀÎÁö¸¦ °ËÁõÇÏ´Â °úÁ¤ÀÔ´Ï´Ù. ƯÈ÷ ÀüÀÚ »ó°Å·¡ »óÀÇ ¹°Ç° ÁÖ¹®¿¡ À־´Â ´õ¿í Áß¿äÇÑ °úÁ¤À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ÇÇÀÚ¸¦ ÁÖ¹®Çϴµ¥ 'Å©±â³ª µÎ²² Á¤µµ´Â ¾È »© ¸Ô°í Àß ÀÔ·ÂÇϰÚÁö ¸Ó...' ¶ó°í ¾ÈÀÏÇÏ°Ô »ý°¢Çϰí ÀԷ°ªÀ» °ËÁõÇÏÁö ¾Ê´Â ´Ù¸é ÁÖ¹®ÀÚ°¡ ±× °ÍÀ» »© ³õ¾ÒÀ» °æ¿ì ¾î¶² Å©±âÀ̸ç, µÎ²²´Â ¾î¶² °É·Î º¸³»¾ß ÇÒÁö Ȳ´çÇÏÁö ¾Ê°Ú½À´Ï±î? ±×·¯¹Ç·Î ÀÌ ¹ø ÆäÀÌÁöÀÇ ÀԷ°ª °ËÁõÀº FormÀ» ´Ù·ç´Âµ¥ À־ Çʼö »çÇ×À̶ó ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù. ¾Æ·¡ÀÇ ÇÇÀÚ ÁÖ¹®¼­¸¦ º¸¸é
<FORM>
Web Donald Pizza Order Form
Name:
Password:
Size:
Crust
Thick Thin
Toppings
Ham
Pineapple
Extra Cheese
</FORM>

ÁÖ¹®ÀÚ ¼º¸í, ºñ¹Ð¹øÈ£, ÇÇÀÚÅ©±â, Ŭ·¯½ºÆ®Á¾·ù, Ãß°¡ÅäÇÎ, ÀÌ·¸°Ô ´Ù¼¸ °¡Áö Ç׸ñÀÌ Àִµ¥, ÀÌÁß Option »çÇ×ÀÎ Ãß°¡ÅäÇÎÀ» Á¦¿ÜÇÑ ³ª¸ÓÁö 4 °³ÀÇ Ç׸ñÀº Çʼö ÀÔ·ÂÀÌ µÇ°Ú½À´Ï´Ù. ÀÌ ¹ø ÆäÀÌÁö¿¡¼­´Â Input typeÀÌ text¿Í password, ¶Ç´Â radioÀÎ °æ¿ì, drop down boxÀÇ °æ¿ì¿¡ ÀÔ·ÂÀ̳ª ¼±ÅÃÀ» ÇÏÁö ¾Ê¾ÒÀ» ¶§ ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇϰí Àü¼ÛÀ» Áß´ÜÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.



Input type="text", type="password" ÀÇ ÀԷ°ª °ËÁõ

text¿Í passwordÀÇ °æ¿ì¿¡´Â ÀԷ¶õ¿¡ °ªÀÌ ÀԷµÇÁö ¾Ê¾ÒÀ» °æ¿ì¸¦ check ÇÕ´Ï´Ù. Check ÇÏ´Â ¹æ¹ýÀº ¾Æ·¡¿Í °°°í, Inline JavaScript¸¦ »ç¿ëÇ߱⠶§¹®¿¡ frm.strName.value == '' ÀÇ ''´Â ÀÛÀº ´Ù¿ÈÇ¥ 2°³¸¦ ¿¬´Þ¾Æ Âï¾ú½À´Ï´Ù.
text type, password type

<body>
<form name="frm">
  <input type="text" name="strName" id="strName"><br />
  <input type="button"value=" validate! " onclick="if(frm.strName.value == ''){alert('Please enter your name. '); frm.strName.focus(); return false;}" />
</form>
</body>


ÄÚµå ½ÇÇà Çϱâ

¼³¸í
if(frm.strName.value == '') // frm.strName ÀÇ °ª(value)ÀÌ ºñ¾úÀ¸¸é
{ ½ÇÇà ³»¿ë °ýÈ£¸¦ ¿¬´Ù.
alert('Please enter your name. '); // Please enter your name À̶ó´Â °æ°í âÀ» ¶ç¿ì°í
frm.strName.focus(); // strName ÀԷ¶õ¿¡ focus(Ä¿Àú ³Ö±â)¸¦ ÁÖ°í
return false; // false °ªÀ» return ÇÏ¿© µ¿ÀÛÀ» ¸ØÃâ °Í. *** ÀÌ ºÎºÐÀÌ ¾øÀ¸¸é °æ°íâÀ» ¶ç¿î ´ÙÀ½ ³»¿ëÀ» ½ÇÇàÇÏ°Ô µÊ.
} ½ÇÇà ³»¿ë °ýÈ£¸¦ ´Ý´Â´Ù.




Select - Option ÀÇ ÀԷ°ª °ËÁõ

Select - OptionÀÇ °æ¿ì Á¦¸ñÀ¸·Î ³ª¿À´Â --- pick a size --- ÀÇ value¸¦ 0À¸·Î ÁÖ°í, ¼±ÅÃÇØ¾ß µÉ small, medium, largeÀÇ °ªÀ» °¢°¢ 1, 2, 3À¸·Î ÁÖ¾î Á¦¸ñÀÇ value ÀÎ '0' ÀÌ ¼±ÅõǸé... Áï small, medium, large °ª Áß Çϳª°¡ ¼±ÅõÇÁö ¾ÊÀ¸¸é alert âÀ» ¶ç¿ì´Â ¹æ¹ýÀ¸·Î °ªÀ» °ËÁõÇÕ´Ï´Ù.
ÀÔ·Â

<body>
<form name="frmSel">
  <select name="selSize" id="selSize">
    <option value="0">--- pick a size --- </option>
    <option value="1">small</option>
    <option value="2">medium</option>
    <option value="3">large</option>
  </select>
  <input type="button" value=" Order! " onclick="if (0 == frmSel.selSize.selectedIndex); {alert('Please select a size. '); frmSel.selSize.focus(); return false;}">
</form>
</body>


ÄÚµå ½ÇÇà Çϱâ



Radio buttonÀÇ ÀԷ°ª °ËÁõ

Radio buttonÀÌ check µÇ¾ú´ÂÁöÀÇ ¿©ºÎ¸¦ °ËÁõÇÏ´Â °úÁ¤Àº ´Ù¸¥ °úÁ¤ º¸´Ù ¾à°£ º¹ÀâÇÕ´Ï´Ù. Radio buttonÀº 1°³ ¹Û¿¡ ¼±ÅÃÇÒ ¼ö ¾ø±â ¶§¹®¿¡ buttonÀÌ ¸î °³ÀÌ°Ç °£¿¡ checkµÈ buttonÀÌ ÀÖ´ÂÁö ¾ø´ÂÁö¸¦ È®ÀÎÇϰí, ±× °ªÀ» ¹Þ½À´Ï´Ù. ¾Æ·¡ÀÇ ÄÚµå Áß¿¡ bCrustChecked = false; ºÎºÐÀ» ´« ¿©°Ü º¸½ÃÁ®. BooleanÀÇ °æ¿ì ±× °ªÀÌ true ¾Æ´Ï¸é false À̱⠶§¹®¿¡ ÀÏ´Ü check°¡ µÇÁö ¾ÊÀº »óŸ¦ °¡Á¤Çϱâ À§ÇØ false °ªÀ» ÁÖ°í, ¹Ýº¹¹®À» ÅëÇØ radio buttonÀÇ °¹¼ö ¸¸Å­ check µÇ¾ú´ÂÁö¸¦ È®ÀÎÇÏ¿© checkµÈ buttonÀÌ ÀÖÀ» ¶§ true °ªÀ» returnÇÏ°Ô µË´Ï´Ù. ÀÌ¿Í °°ÀÌ bCrustCkecked = false; ó·³ Boolean °ªÀ» ÁÖ¾î ¾î¶² »óȲÀ» °¡Á¤ÇÏ´Â °ÍÀ» FlagÀ» ¼¼¿î´Ù°í ÇÕ´Ï´Ù.
ÀÔ·Â

<html>
<head>
<title>Radio buttonÀÇ ÀԷ°ª °ËÁõ</title>
<script type="text/javascript">
<!--
// ÇÔ¼ö¸íÀ» ValidateForm À¸·Î ÁÖ°í eForm À̶ó´Â ´ëÀÔ º¯¼ö ÁöÁ¤ 
function ValidateForm(eForm){
// bCrustChecked º¯¼ö¿¡ false °ªÀ» ÁÖ¾î FlagÀ» ¼¼¿î´Ù.
    var bCrustChecked = false; 
    for (var i=0;i<eForm.radCrust.length;i++) // Radio buttonÀÇ °¹¼ö ¸¹Å­ check loop ¹Ýº¹ 
    {
    if (eForm.radCrust[i].checked) // radCrust ¶ó´Â À̸§À» °¡Áø radio buttonÁß Çϳª°¡ üũµÇ¸é 
    {
    bCrustChecked = true; // FlagÀ» true ·Î ¸¸µç´Ù.
    var sCrust = eForm.radCrust[i].value; // checkµÈ °ªÀ» Àü¼ÛÇÒ sCrust º¯¼ö¸¦ ¸¸µé¾î  ÀúÀå.
    break; // ½ÇÇà Á¾·á(break ¹®À» ¸¸³ª¸é ¿©±â¼­ ±¸¹®ÀÌ ³¡³ª°í ´ÙÀ½ °úÁ¤À¸·Î jumpÇÕ´Ï´Ù.)
    }
    }
    if (!bCrustChecked) // bCrustChecked °¡ false À̸é Áï, checkµÈ radio buttonÀÌ ¾øÀ¸¸é.
    {
    alert("Please select a crust type.       "); // °æ°íâÀ» ¶ç¿ì°í 
    return false; // false °ª return.
    }
}
// -->
</script>
</head>
<body>
<form name="frmCrust" onsubmit="return ValidateForm(this);">
    <input type="radio" name="radCrust" id="radCrust_Thick" value="Thick"> Thic<u>k</u>
    <input type="radio" name="radCrust" id="radCrust_Thin" value="Thin"> Thi<u>n</u>
    <input type="submit" value="   Order!   ">
</form>
</body>
</html>
ÄÚµå ½ÇÇà Çϱâ


alert box ÀÇ text¸¦ º¸±â ÁÁ°Ô ¶ç¿ì±â
alert boxÀÇ °æ¿ì box ¿ÞÂÊÀÇ ³ë¶õ »ï°¢Çü ¶§¹®¿¡ ¹®ÀåÀÌ ¿À¸¥ÂÊÀ¸·Î Ä¡¿ìÄ¡°Ô µÇ´Â°Ô ¹®ÀåÀ» ±×³É ÀÔ·ÂÇÏ°Ô µÇ¸é ¿©±â¿Í °°ÀÌ µÇÁ®... ±×·¸Áö¸¸ ¹®Àå µÚ¿¡ ¾Æ·¡¿Í °°ÀÌ space¸¦ 10 ~ 12°³ Á¤µµ ÁÖ°í µû¿ÈÇ¥¸¦ ´ÝÀ¸¸é ¿ä±âó·³ ¹®ÀåÀÌ °¡¿îµ¥·Î ¿À°Ô µË´Ï´Ù. º° °Í ¾Æ´Ñ °Í °°¾Æµµ Á¶±Ý¸¸ ½Å°æ¾²¸é º¸±â ÁÁÀº °æ°íâÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

<a href="javascript:alert('¿À¸¥ÂÊÀ¸·Î Ä¡¿ìÄ£ ¹®Àå');">¿©±â</a>

<a href="javascript:alert('°¡¿îµ¥·Î ¸ðÀÎ ¹®Àå            ');">¿ä±â</a>




Form ¿¡ °üÇÑ Á¾ÇÕ ¿¹Á¦

¾Æ·¡ÀÇ Source code´Â Áö±Ý ±îÁö ¹è¿î form°ú °ü·ÃµÈ »çÇ×µéÀ» ÃÑ ¸Á¶óÇÑ ¿¹Á¦·Î¼­ ASP°ú °°ÀÌ Àü¼ÛµÈ °ªÀ» ó¸®ÇÏ´Â ºÎºÐ ¹Ù·Î Àü±îÁöÀÇ °úÁ¤ÀÌ µÇ°Ú½À´Ï´Ù. Àß ºÐ¼®ÇØ º¸¸é ¸¹Àº µµ¿òÀÌ µÇ¸®¶ó ¹Ï½À´Ï´Ù. ³»¿ëÀº ¸ðµÎ À§¿¡¼­ ¼³¸íÇÑ ºÎºÐÀ̹ǷΠµû·Î ÁÖ¼®Àº ºÙÀÌÁö ¾Ê¾Ò½À´Ï´Ù.
ÀÔ·Â

<html>
<head>
<title>Web Donald Pizza Order Form</title>
<style type="text/css">
<!-- 
    BODY { font-family:verdana;}
    TABLE#tblPizzaForm { background-color:buttonface; }
    TABLE#tblPizzaForm CAPTION {
    background-color:activecaption; color:captiontext;
    font-weight:bold; text-align:left; }
    TABLE#tblPizzaForm TABLE {}
    TABLE#tblPizzaForm INPUT { font-family:verdana; }
    TABLE#tblPizzaForm SELECT { font-family:verdana; }
-->
</style>

<script language="JavaScript">
<!--
function ValidateForm(eForm){
    if ("" == eForm.txtName.value)
    {
    window.alert("Please enter your name.    "); 
    eForm.txtName.focus()
    return false;
    }
    if ("" == eForm.txtPassword.value)
    {
    window.alert("Please enter your password.    "); 
    eForm.txtPassword.focus()
    return false;
    }
    else if (0 == eForm.selSize.selectedIndex)
    {
    window.alert("Please select a size.    "); 
    eForm.selSize.focus()
    return false;
    }
    else 
    {
    var bCrustChecked = false;
    for (var i=0;i<eForm.radCrust.length;i++)
    {
    if (eForm.radCrust[i].checked) 
    {
    bCrustChecked = true;
    var sCrust = eForm.radCrust[i].value;
    break;
    }
    }
    if (!bCrustChecked)
    {
    window.alert("Please select a crust type.    "); 
    return false;
    }
    }
window.alert("All is well. Submitting form...    ");
return true;
}
//-->
</script>
</head>

<body>
<form name="frmPizza" onsubmit="return ValidateForm(this);">

  <table id="tblPizzaForm" cellspacing="0" align="center" cellpadding="3" border="1">
  <caption><span style="color:#cc6600;">Web Donald Pizza</span> Order Form</caption>
    <tr valign="top">
      <td><label for="txtName" accesskey="M">Na<u>m</u>e: </label></td>
      <td><input type="text" name="txtName" id="txtName"></td>
    </tr>
    <tr valign="top">
      <td><label for="txtPassword" accesskey="P"><u>P</u>assword: </label></td>
      <td><input type="password" name="txtPassword" id="txtPassword"></td>
    </tr>
    <tr valign="top">
      <td><label for="selSize" accesskey="S"><u>S</u>ize: </label></td>
      <td>
        <select name="selSize" id="selSize"> 
          <option value="0">--- pick a size --- </option>
          <option value="1">small</option>
          <option value="2">medium</option>
          <option value="3">large</option>
        </select>
      </td>
    </tr>
    <tr valign="top">
      <td colspan="2">
      <fieldset id="fstCrust">
      <legend>Crust</legend>
        <table cellpadding="1" cellspacing="0">
          <tr>
            <td><input type="radio" name="radCrust" id="radCrust_Thick" value="Thick"></td>
            <td><label for="radCrust_Thick" accesskey="K">Thic<u>k</u></label></td>
            <td><input type="radio" name="radCrust" id="radCrust_Thin" value="Thin"></td>
            <td><label for="radCrust_Thin" accesskey="N">Thi<u>n</u></label></td>
          </tr>
        </table>
      </fieldset>
      </td>
    </tr>
    <tr valign="top">
      <td colspan="2">
        <fieldset name="fstToppings">
        <legend>Toppings</legend>
        <table cellpadding="1" cellspacing="0">
          <tr>
            <td><input type="checkbox" name="chkHam" id="chkHam" value="Ham"></td>
            <td><label for="chkHam" accesskey="H"><u>H</u>am</label></td>
          </tr>
          <tr>
            <td><input type="checkbox" name="chkPineapple" id="chkPineapple"
            value="Pineapple"></td>
            <td><label for="chkPineapple" accesskey="I">P<u>i</u>neapple</label></td>
          </tr>
          <tr>
            <td><input type="checkbox" name="chkExtraCheese" 
            id="chkExtraCheese" value="Extra Cheese"></td>
            <td><label for="chkExtraCheese" accesskey="E"><u>E</u>xtra Cheese</label></td>
          </tr>
        </table>
        </fieldset>
      </td>
    </tr>
    <tr valign="top">
      <td colspan="2" align="right"><input type="submit" value="   Order!   "></td>
    </tr>
  </table>
</form>
</body>
</html>
ÄÚµå ½ÇÇà Çϱâ