Проверить текстовое поле, когда выбран параметр

Я создаю регистрационную форму в ColdFusion. Одним из требований является выбор пользователем значения из раскрывающегося списка. Когда выбран один из вариантов, необходимо заполнить следующее поле текстового поля, чтобы это поле стало обязательным полем. Если пользователь не выбирает какую-либо опцию из раскрывающегося списка, это текстовое поле можно оставить пустым. Я плохо разбираюсь в 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">

person user2127860    schedule 03.03.2013    source источник


Ответы (1)


Что вам нужно сделать, так это перед отправкой формы увидеть, отличается ли выбранный индекс раскрывающегося списка от 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.
   }
}

Удачи.

person Felipe Gavilán    schedule 03.03.2013
comment
Я должен поместить OnSubmit в тег кнопки отправки: ‹cfinput type=submit name=Registration value=CONTINUE class=SearchButtons OnSubmit=submit()›? и что вы подразумеваете под // вашим кодом, если проверка пройдена, и // вашим кодом, если проверка не пройдена. - person user2127860; 03.03.2013
comment
Я мало что знаю о coldfusion, но в asp.net я бы просто сказал: как вы добавляете комментарии к своему коду. Таким образом, комментарии указывают, что вы можете захотеть сделать в случае прохождения проверки. Например, обычно, когда проверка не пройдена, вы можете использовать предупреждение (вы должны заполнить текстовое поле), чтобы сообщить пользователю, что проверка не пройдена. - person Felipe Gavilán; 03.03.2013