2013-03-03 138 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