佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 780|回复: 8

请问这个JAVASCRIPT的FUNCTIONS如何把它加在一个FUNCTION里????

[复制链接]
发表于 5-12-2007 12:35 PM | 显示全部楼层 |阅读模式
但人家打他们的生日日期在这个BOX时,它会看看那个日期是否正确,如果不对就有ALERT BOX出来
以下是我那个JAVA SCRIPT 的CODES, 我用了三个FUNCTIONS来写, 我想问如有要把三个FUNCTION的CODES放进一个,那要怎么写

example:

function checkDOB()
{
var wholedate=document.REG.DOB.value
var cmon=wholedate.substr(0,2)
var cdate=wholedate.substr(3,2)
var cyear=wholedate.substr(6,4)
var leapyear =9

if (cyear%400==0)
{
leapyear=1
}
else (if(cyear%100==0))
{
leapyear =0
}
else if (cyear%4==0)
{
leapyear=1
}
else leapyear=0
}

function noleapyear()
var fulldate = document.reg.DOB.value
var month = fulldate.substr(0,2)
var day = fulldate.substr(3,2)
if (month==02 && day> 28)
{
alert ("no leap year then no Feb >28")
}
function yesleapyear()
{
var fulldate = document.REG.DOB.value
var month = fulldate.substr(0,2)
var day = fulldate.substr(3,2)
if (month==02 && >29)
{
alert ("leap year Feb no > 29")
}
}

谢谢
回复

使用道具 举报


ADVERTISEMENT

发表于 6-12-2007 10:16 PM | 显示全部楼层
懒惰看。。。。

给你看我的好了


  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <title>Date of Birth</title>
  5. </head>

  6. <body>
  7. <script language="JavaScript">
  8. function CheckForm()
  9. {
  10.         var dtCh= "/";
  11.         var minYear=1900;
  12.         var maxYear=2100;

  13.         function isInteger(s){
  14.                 var i;
  15.             for (i = 0; i < s.length; i++){   
  16.                 var c = s.charAt(i);
  17.                 if (((c < "0") || (c > "9"))) return false;
  18.             }
  19.             return true;
  20.         }

  21.         function stripCharsInBag(s, bag){
  22.                 var i;
  23.             var returnString = "";
  24.             for (i = 0; i < s.length; i++){   
  25.                 var c = s.charAt(i);
  26.                 if (bag.indexOf(c) == -1) returnString += c;
  27.             }
  28.             return returnString;
  29.         }

  30.         function daysInFebruary (year){
  31.             return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
  32.         }
  33.         function DaysArray(n) {
  34.                 for (var i = 1; i <= n; i++) {
  35.                         this[i] = 31
  36.                         if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
  37.                         if (i==2) {this[i] = 29}
  38.            }
  39.            return this
  40.         }

  41.         function isDate(dtStr){
  42.                 var daysInMonth = DaysArray(12)
  43.                 var pos1=dtStr.indexOf(dtCh)
  44.                 var pos2=dtStr.indexOf(dtCh,pos1+1)
  45.                 var strMonth=dtStr.substring(0,pos1)
  46.                 var strDay=dtStr.substring(pos1+1,pos2)
  47.                 var strYear=dtStr.substring(pos2+1)
  48.                 strYr=strYear
  49.                 if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
  50.                 if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
  51.                 for (var i = 1; i <= 3; i++) {
  52.                         if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
  53.                 }
  54.                 month=parseInt(strMonth)
  55.                 day=parseInt(strDay)
  56.                 year=parseInt(strYr)
  57.                 if (pos1==-1 || pos2==-1){
  58.                         alert("The date format should be : mm/dd/yyyy")
  59.                         return false
  60.                 }
  61.                 if (strMonth.length<1 || month<1 || month>12){
  62.                         alert("Please enter a valid month")
  63.                         return false
  64.                 }
  65.                 if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
  66.                         alert("Please enter a valid day")
  67.                         return false
  68.                 }
  69.                 if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
  70.                         alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
  71.                         return false
  72.                 }
  73.                 if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
  74.                         alert("Please enter a valid date")
  75.                         return false
  76.                 }
  77.         return true
  78.         }
  79.        
  80.         {
  81.                 var dt=document.regform.customer_dob
  82.                 if (isDate(dt.value)==false){
  83.                         dt.focus()
  84.                         return false
  85.                 }
  86.             return true         
  87.         }
  88. }
  89. </script>

  90. <table border="0" width="100%" cellspacing="0" cellpadding="0" id="table1">
  91.         <tr>
  92.                 <td class=border width="590">
  93.                         <table border="0" width="644" cellspacing="0" cellpadding="0" id="table2">
  94.                                 <form language="javascript" name="regform" method="post" action="date_of_birth.htm" onSubmit="return CheckForm()">
  95.                                 <tr>
  96.                                         <td width="106">&nbsp;</td><td width="538">&nbsp;</td>
  97.                                 </tr>
  98.                                 <tr>
  99.                                         <td width="106">Date of Birth :</td><td width="538">
  100.                                         <input type="text" name="customer_dob" size="27">
  101.                                         <font color="#FF0000">(mm/dd/yyyy) *</font></td>
  102.                                 </tr>
  103.                                
  104.                                 <tr>
  105.                                         <td width="420" colspan="2">
  106.                                         <input type="submit" value="Submit" name="Submit"></td>
  107.                                 </tr>
  108.                                 </form>
  109.                         </table>
  110.                 </td>
  111.         </tr>
  112.         <tr>
  113.                 <td>&nbsp;</td>
  114.         </tr>
  115. </table>
  116. </body>
  117. </html>
复制代码


30/02/2008 <-这是不会过的哦
回复

使用道具 举报

发表于 6-12-2007 10:17 PM | 显示全部楼层
var cmon=wholedate.substr(0,2)
var cdate=wholedate.substr(3,2)
var cyear=wholedate.substr(6,4)

这样写很危险下。。。
回复

使用道具 举报

 楼主| 发表于 10-12-2007 07:47 AM | 显示全部楼层
谢谢楼上的, 我是要拿来做FORM用的, 就是说不要有BUTTON按的

就如: 你打13在月份那边,它就会出现ALERT了

谢谢
回复

使用道具 举报

发表于 10-12-2007 08:48 PM | 显示全部楼层
原帖由 Pool 于 10-12-2007 07:47 AM 发表
谢谢楼上的, 我是要拿来做FORM用的, 就是说不要有BUTTON按的

就如: 你打13在月份那边,它就会出现ALERT了

谢谢

  1.                                 <tr>

  2.                                         <td width="106"> </td><td width="538"> </td>

  3.                                 </tr>

  4.                                 <tr>

  5.                                         <td width="106">Date of Birth :</td><td width="538">

  6.                                         <input type="text" name="customer_dob" size="27">

  7.                                         <font color="#FF0000">(mm/dd/yyyy) *</font></td>

  8.                                 </tr>

  9.                                 

  10.                                 <tr>

  11.                                         <td width="420" colspan="2">

  12.                                         <input type="submit" value="Submit" name="Submit"></td>

  13.                                 </tr>
复制代码


你这里的coding都不是这样的

而且。。。你只有一个text box哦
回复

使用道具 举报

 楼主| 发表于 10-12-2007 11:33 PM | 显示全部楼层
原帖由 小陈陈 于 10-12-2007 08:48 PM 发表


                                

                                          

                                

                                

                                      ...

<HTML>
<HEAD>
<SCRIPT>
<!-- Hide from older browsers
function checkDOB()
{
var wholedate=document.REG.DOB.value
var cmon=wholedate.substr(0,2)
var cdate=wholedate.substr(3,2)
var cyear=wholedate.substr(6,4)
var leapyear =9

if (cyear%400==0)
{
leapyear=1
}
else (if(cyear%100==0))
{
leapyear =0
}
else if (cyear%4==0)
{
leapyear=1
}
else leapyear=0
}

function noleapyear()
var fulldate = document.reg.DOB.value
var month = fulldate.substr(0,2)
var day = fulldate.substr(3,2)
if (month==02 && day> 28)
{
alert ("no leap year then no Feb >28"
}
function yesleapyear()
{
var fulldate = document.REG.DOB.value
var month = fulldate.substr(0,2)
var day = fulldate.substr(3,2)
if (month==02 && >29)
{
alert ("leap year Feb no > 29"
}
}

}
function DateToday() {
   var Today=new Date();
   var ThisDay=Today.getDate();
   var ThisMonth=Today.getMonth()+1;
   var ThisYear=Today.getFullYear();
   return ThisMonth+"/"+ThisDay+"/"+ThisYear;
}
function StartForm() {
   document.REG.FORMDATE.value=DateToday();
   document.REG.FIRSTNAME.focus();
}
function CheckOther() {
   if(document.REG.PHYSICIAN.selectedIndex==7) {
      document.REG.OTHERNAME.value=prompt("Enter name of physician", "Name";
   }
   document.REG.ACT.focus();
}
function APGAR(field) {
if(field.value==0 || field.value==1 || field.value==2) {
   var A=eval(document.REG.ACT.value);
   var P=eval(document.REG.PULSE.value);
   var G=eval(document.REG.GRIMACE.value);
   var AP=eval(document.REG.APP.value);
   var R=eval(document.REG.RESP.value);
} else {
   alert("You must enter a 0, 1, or 2";
   field.focus();
}
}
function Check_Data() {
   if(document.REG.CONSENT.checked==true) {
      alert("Form completed successfully";
      return true;
   } else {
      alert("You still need parental consent";
      return false;
   }
}
//Stop hiding -->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#008080" TEXT=WHITE >
<FORM name="REG" >
<CENTER>
<IMG SRC="Logo.gif" WIDTH=450 HEIGHT=75 ALT="Downstate Medical Center">
<TABLE CELLSPACING=3 CELLPADDING=5>
<!--- Study Title--->
<TR>
   <TD ALIGN=CENTER COLSPAN=3>
      <H1><FONT FACE="Arial,Helvetica">Neonatal Feeding Study</FONT></H1>
   </TD>
</TR>
<!--- Field showing the current date --->
<TR>
   <TD COLSPAN=3 ALIGN=RIGHT>
      Date: <INPUT NAME=FORMDATE SIZE=10 MAXLENGTH=10>
   </TD>
</TR>
<!--- Fields containing the first and last name of the patient --->
<TR>
   <TD>
      1) Name (first, last):
   </TD>
   <TD>
      <INPUT NAME=FIRSTNAME></TD><TD><INPUT NAME=LASTNAME>
   </TD>
</TR>
<!--- Medical record number field --->
<TR>
   <TD>
      2) Medical Record #:
   </TD>
   <TD>
      <INPUT NAME=MEDRECNO SIZE=10 MAXLENGTH=10>
   </TD>
</TR>
<!--- Date of birth field --->
<TR>
   <TD>
      3) Date of birth:
   </TD>
   <TD>
      <INPUT NAME=DOB VALUE="mm/dd/yyyy"  SIZE=10 MAXLENGTH=10>
   </TD>
</TR>
<!--- Selection list with physician names and a field for names not in list --->
<TR>
   <TD>
      4) Physician:
   </TD>
   <TD>
      <SELECT NAME=PHYSICIAN >
      <OPTION VALUE="Alexander">Dr. Dorrick Alexander
      <OPTION VALUE="Alleyne">Dr. Damian Alleyne
      <OPTION VALUE="Au">Dr. Chun Yiu Au
      <OPTION VALUE="Bacchus">Dr. Stephen Bacchus
      <OPTION VALUE="Baptiste">Dr. Sheldon Baptiste
      <OPTION VALUE="Brown">Dr. Veniece Brown
      <OPTION VALUE="Cobos">Dr. Hernan Cobos
      <OPTION VALUE="Other">Other
      </SELECT>
   </TD>
</TR>
<!--- Physician names not in the list --->
<TR>
   <TD>
          If other (specify):
   </TD>
   <TD>
      <INPUT NAME=OTHERNAME>
   </TD>
</TR>
<!--- Activity component of the APGAR score --->
<TR>
   <TD ROWSPAN=6 VALIGN=TOP>
      5) 1 Minute APGAR Score:
   </TD>
   <TD>
      Activity
   </TD>
   <TD>
      <INPUT NAME=ACT VALUE=0 SIZE=1 MAXLENGTH=1 >
   </TD>
</TR>
<!--- Pulse component of the APGAR score --->
<TR>
   <TD>
      Pulse
   </TD>
   <TD>
      <INPUT NAME=PULSE VALUE=0 SIZE=1 MAXLENGTH=1 >
   </TD>
</TR>
<!--- Grimace component of the APGAR score --->
<TR>
   <TD>
      Grimace (Reflex, Irritability)
   </TD>
   <TD>
      <INPUT NAME=GRIMACE VALUE=0 SIZE=1 MAXLENGTH=1 >
   </TD>
</TR>
<!--- Appearance component of the APGAR score --->
<TR>
   <TD>
      Appearance (Skin Color)
   </TD>
   <TD>
      <INPUT NAME=APP VALUE=0 SIZE=1 MAXLENGTH=1 >
   </TD>
</TR>
<!--- Respiration component of the APGAR score --->
<TR>
   <TD>
      Respiration
   </TD>
   <TD>
      <INPUT NAME=RESP VALUE=0 SIZE=1 MAXLENGTH=1 >
   </TD>
</TR>
<!--- Total APGAR score --->
<TR>
   <TD>
      <B>TOTAL</B>
   </TD>
   <TD>
      <INPUT NAME=TOTAL VALUE=0 SIZE=2 MAXLENGTH=2>
   </TD>
</TR>
<!--- Birth weight field --->
<TR>
   <TD>
      6) Birth weight (gms):
   </TD>
   <TD>
      <INPUT NAME=BWGT SIZE=6>
   </TD>
</TR>
<!--- Parental consent checkbox --->
<TR>
   <TD>
      7) Parental Consent (required):
   </TD>
   <TD>
      <INPUT TYPE=CHECKBOX NAME=CONSENT>
   </TD>
</TR>
<!--- Form registration and reset buttons --->
<TR>
   <TD COLSPAN=3 ALIGN=CENTER>
      <INPUT TYPE=SUBMIT VALUE="Register">  
      <INPUT TYPE=RESET VALUE="Reload" >
   </TD>
</TR>
</TABLE>
</CENTER>
<>lease submit all questions regarding this form or the NICU feeding study
to <FONT COLOR="#FFFF00">Dr. Menaouer Djellali, Department of Pediatrics, ext.
1234</FONT>.</P>
</FORM>
</BODY>
</HTML>

[ 本帖最后由 Pool 于 10-12-2007 11:37 PM 编辑 ]
回复

使用道具 举报

Follow Us
 楼主| 发表于 10-12-2007 11:36 PM | 显示全部楼层
这才是我的完整的CODES,但它无效

回复

使用道具 举报

发表于 11-12-2007 11:00 PM | 显示全部楼层
<INPUT NAME=DOB VALUE="mm/dd/yyyy"  SIZE=10 MAXLENGTH=10>

也是要人家key完了才可以出现alert啊。。。。。


而且。。你这样写

var cmon=wholedate.substr(0,2)
var cdate=wholedate.substr(3,2)
var cyear=wholedate.substr(6,4)

如果user key
3/12/2007
的话。。。那你不是有error了。。。。


照你要得。。我没有test过。。。我不清楚。。。
但是我认为因该是可以的
只是。。。会比较麻烦下

我做的。。。都是给user key完那个date才来check。。。
不一定要button submit也是可以。。。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 12-12-2007 12:43 AM | 显示全部楼层
我说的那个方法可能很麻烦, 还是借用你的CODES

谢谢你
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 25-9-2025 04:38 PM , Processed in 0.113291 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表