【问题标题】:Validate a textbox when option is selected选择选项时验证文本框
【发布时间】:2013-03-03 00:50:27
【问题描述】:

我正在使用 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">

【问题讨论】:

    标签: javascript coldfusion cfml cfform


    【解决方案1】:

    你需要做的是在提交表单之前查看dropdownlist selected index是否不为0,如果是,那么你的textbox的文本必须不同于Empty String。这是一个例子:

    // 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.
       }
    }
    

    祝你好运。

    【讨论】:

    • 我必须将 OnSubmit 放在我的提交按钮标签上:?你是什​​么意思 // 你的代码以防验证通过和 // 你的代码以防验证未通过。
    • 我对coldfusion不太了解,但在asp.net中我会简单地说: 很抱歉没有在 javascript 中解释“//”,这是您将 cmets 添加到代码中的方式。因此,cmets 指示在验证通过时您可能想要执行的操作。例如,通常,当验证未通过时,您可以使用 alert("you must fill the textbox") 让用户知道验证未通过。
    猜你喜欢
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2010-11-19
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多