如何在Web上執行不同欄位類型的欄位驗證?

 

1. 請先在Notes的套表中建立一些測試欄位 ,請參考下圖之畫面設計:

2. 在上述套表中的JSHeader中貼上如下的程式:

function getItemValue(itemobject){

        var xres=new Array();

        var len=itemobject.length;

        var k=0;

                if(itemobject.tagName=="TEXTAREA"){

                        xres=itemobject.value.split('\n');

                }else if(itemobject.type=="text" ||  itemobject.type=="password" || itemobject.type=="hidden" || itemobject.type=="file"){  

                        xres[k]=itemobject.value;

                }else if(itemobject.type=="select-one"){

                                for(var m=0;m < itemobject.options.length;m++){

                                        if(itemobject.options[m].selected){

                                                xres[k++]=itemobject.options[m].text;

                                        }

                                }             

                }else if( itemobject.type=="select-multiple"){

                                for(var m=0;m < itemobject.options.length;m++){

                                        if(itemobject.options[m].selected){

                                                xres[k++]=itemobject.options[m].text;

                                        }

                                }                     

                }else if(itemobject.type=="radio"){

                                        if(itemobject.checked){

                                                xres[0]=itemobject.value;

                                        }else{

                                                xres[0]="";

                                        }

                }else if(itemobject.type=="checkbox"){

                                        if(itemobject.checked){

                                                xres[0]=itemobject.value;

                                        }else{

                                                xres[0]="";

                                        }

                }else{

                        if(itemobject[0].type=="radio"){

                                for(var i=0 ;i<len;i++){

                                        var x=itemobject[i];

                                        if(x.checked){

                                                xres[k++]=x.value;

                                        }

                                }

                        }else if(itemobject[0].type=="checkbox"){

                                for(var i=0 ;i<len;i++){

                                        var x=itemobject[i];

                                        if(x.checked){

                                                xres[k++]=x.value;

                                        }

                                }

                        }else if(itemobject[0].type=="text" ||  itemobject[0].type=="password" || itemobject[0].type=="hidden" || itemobject[0].type=="file"){

                                for(var i=0 ;i<len;i++){

                                        var x=itemobject[i];

                                        xres[k++]=x.value;

                                } 

                        }else{

                                xres[0]="";

                        } 

                }

        return xres;      

}

3. 在套表中建立一欄位驗證測試按鈕,按鈕的JavaScript程式如下:

//錯誤訊息提示字串

var xmsg="";

//欲驗證之欄位名稱陣列,需注意欄位名稱英文字大小寫

var FName=new Array("Name","Educational","Interest","Introduction","Country");

//欲驗證欄位之說明文字陣列

var FTName=new Array("姓名","最高學經歷","興趣","個人簡介","居住地");

for(var i=0;i<FName.length;i++){

        if(getItemValue(eval("form."+FName[i]))==""){

                xmsg+=(FTName[i]+"\n");

        }

}

if (xmsg!=""){

        alert("尚有以下欄位未輸入,請再確認:"+"\n"+xmsg);   

}else{

        alert("驗證通過!!");

}

 

4.測試畫面如下: