2013-03-03 109 views
0

我使用ColdFusion創建註冊表單。其中一個要求是用戶從下拉列表中選擇一個值。選擇其中一個選項時,需要填寫下一個文本框字段,以便該字段成爲必填字段。如果用戶沒有從下拉列表中選擇任何選項,則該texfield可以留空。 我不擅長Javascript,有沒有辦法得到一些免費的樣本? 這裏是我的表單字段:選擇選項時驗證文本框

<cfselect name="OtherContact" class="inputSelect"> 
    <option value="">--- Select other contact ---</option> 
    <option value="HomePhone">Home Phone</option>     
    <option value="HomeFax">Home Fax</option>    
    <option value="HomeEmail">Home Email</option>    
</cfselect> 

<cfinput type="text" name="OtherContactId" value="#Form.OtherContactId#" class="inputText"> 

回答

0

提交表單,看看是否下拉列表中選擇指數爲0不同,如果是,那麼你的文本框的文本必須是不同之前,你需要做的是什麼從一個空字符串。這是一個例子:

// this is the javascript function that will make sure your criteria is found, if it does, it will return true, false otherwise 
function validateSubmit(){ 
var OtherContact= document.getElementById('<%=OtherContact.ClientID%>') 
if (OtherContact.selectedIndex !== 0){ 
    if (document.getElementById('<%=OtherContactId.ClientID%>').value === ""){ 
     return false; 
    } 
    } 
return true; 
} 

所以,你提交(或做任何你想做的驗證後做)之前,你可以這樣做:

// function that submits 
function submit(){ 
if (validateSubmit()){ 
// your code in case validation is passed. 
    } 
else{ 
// your code in case validation is not passed. 
    } 
} 

好運。

+0

我必須在我的提交按鈕標記上放置OnSubmit:?以及在通過驗證的情況下//你的代碼是什麼意思,以及//在你的代碼未通過驗證的情況下。 – user2127860 2013-03-03 01:55:47

+0

我對Coldfusion瞭解不多,但在asp.net中,我只是簡單地說: 對不起,沒有解釋「/ /」,在javascript中,這是你添加註釋到你的代碼的方式。所以這些註釋表明了在驗證通過的情況下你可能想要做什麼。例如,通常,當驗證未通過時,您可以使用警報(「您必須填寫文本框」)以讓用戶知道驗證未通過。 – 2013-03-03 14:16:17