2013-05-07 2 views
0

Я хотел бы создать требование о том, что если ничто не выбрано из раскрывающегося поля в моей контактной форме, появится сообщение с сообщением «Пожалуйста, выберите», и форма не будет отправлена, если не будет выбрано что-либо. Я получил требования к работе над всеми формами ввода текста, но не могу понять, как создать его для раскрывающегося поля.Есть ли способ применить требования к форме в раскрывающемся поле в контактной форме PHP?

Выпадающее HTML выглядит следующим образом:

<div class='container'> 

<label for='destemail' > Which department are you trying to reach?*</br> You must select a department.</label></br> 

<select name="destemail" id="destemail"> 
<?php foreach ($emailAddresses as $name => $email) { ?> 
<option value="<?php echo htmlspecialchars($name); ?>"><?php echo htmlspecialchars($name) ; ?></option> 
<?php } ?></select> 
<span id='contactus_destemail_errorloc' class='error'></span> 

</div> 

Я получил другие требования формы, чтобы работать, как так:

HTML, -

<div class='container'> 
    <label for='name' >Your Full Name*: </label><br/> 
    <input type='text' name='name' id='name' value='<?php echo $formproc->SafeDisplay('name') ?>' maxlength="50" /><br/> 
    <span id='contactus_name_errorloc' class='error'></span> 
</div> 

Javascript -

<script type='text/javascript'> 
<![CDATA[ 
var frmvalidator = new Validator("contactus"); 
frmvalidator.EnableOnPageErrorDisplay(); 
frmvalidator.EnableMsgsTogether(); 
frmvalidator.addValidation("name","req","Please provide your name"); 
</script> 

PHP -

//name validations 
     if(empty($_POST['name'])) 
     { 
      $this->add_error("Please provide your name"); 
      $ret = false; 
     } 

Я попытался точно такое же кодирование для падения вниз, но с разными названиями идентификаторов, где это необходимо, и это не сработало. Почему этот метод не работает для выпадающего списка?

Помогите оценить!

ответ

0

Я не вижу, что делает код Validator(), но вы можете просто проверить, пустое ли поле выбора с помощью Javascript или jQuery.

JQuery путь:

if(!$('#destemail').val()) { 
    alert('Empty'); 
} 

Проблема может заключаться в том, что ваш выбор окно действительно имеет значение, которое независимо от первого значения распечатываются в нем. Функция проверки может проверять любое значение, а так как выбор имеет один, он возвращается как действительный.

Вы можете настроить значение по умолчанию для отображения сначала, что-то вроде «Пожалуйста, выберите отдел», а затем выполните проверку jquery/javascript для этого текста. Если он существует, то вы знаете, что опция не выбрана.

Смежные вопросы