作者 主題: 請問 JavaScript 的問題  (閱讀 4304 次)

0 會員 與 1 訪客 正在閱讀本文。

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
請問 JavaScript 的問題
« 於: 2002-12-21 01:54 »
以下是我要寫的網頁:
http://home.kimo.com.tw/brandy_cage/phone.htm
希望能改善 JavaScript 部分

<HTML>
<head><title>電話</title>
</head>
<BODY><center>
電話<br>

<form method="POST" action="xxx" name="phoform" onsubmit="return check();">
市內電話<input type="text" name="pho11" size="2" maxlength="2">—
<input type="text" name="pho12" size="7" maxlength="7"> <br>

行動電話:09<input type="text" name="pho21" size="2" maxlength="2">—
<input type="text" name="pho22" size="6" maxlength="6"><br>

<input type="submit" value="確定" name="B1">
<input type="reset" value="重新輸入" name="B2">
<input type="button" value="離開" name="B3" onclick="window.close()">                  
</form>                  

</BODY>                
<script language="JavaScript">        
<!-- -        
function check()  
{  
 
if (document.phoform.pho11.value.length != 2)  
{  
  alert("這裡應該輸入『2碼』");  
  phoform.elements[0].focus();  
  return(false);  
}  
if (window.RegExp)  
{  
  var reg = new RegExp("^([0-9])*$","g");  
  if (!reg.test(phoform.elements[0].value))  
  {  
    alert("電話號碼為數字");  
    phoform.elements[0].focus();  
    return(false);  
  }  
}  
 
if (document.phoform.pho12.value.length != 7)  
{  
  alert("這裡應該輸入『7碼』");  
  phoform.elements[1].focus();  
  return(false);  
}  
if (window.RegExp)  
{  
  var reg = new RegExp("^([0-9])*$","g");  
  if (!reg.test(phoform.elements[1].value))  
  {  
    alert("電話號碼為數字");  
    phoform.elements[1].focus();  
    return(false);  
  }  
}  

if (document.phoform.pho21.value.length != 2)  
{  
  alert("這裡應該輸入『2碼』");  
  phoform.elements[2].focus();  
  return(false);  
}  
if (window.RegExp)  
{  
  var reg = new RegExp("^([0-9])*$","g");  
  if (!reg.test(phoform.elements[2].value))  
  {  
    alert("電話號碼為數字");  
    phoform.elements[2].focus();  
    return(false);  
  }  
}  
 
if (document.phoform.pho22.value.length != 6)  
{  
  alert("這裡應該輸入『6碼』");  
  phoform.elements[3].focus();  
  return(false);  
}  
if (window.RegExp)  
{  
  var reg = new RegExp("^([0-9])*$","g");  
  if (!reg.test(phoform.elements[3].value))  
  {  
    alert("電話號碼為數字");  
    phoform.elements[3].focus();  
    return(false);  
  }
}
}
//--->
</script>
</html>

尚需改善:
1. 輸入區碼 2 碼後,游標自動更換到—市內電話的 7 碼部分,依序是 : → 行動電話 的 2 碼 → 行動電話 的 6 碼
2. 當檢驗表單 → 發現錯誤 → 自動指向錯誤欄位時,將此方塊 value 值全選

書上沒說到  教學網站也沒發現到...  請前輩們指點ㄅ