0

コンタクトフォームのドロップダウンフィールドから何も選択されていない場合、「選択してください」というメッセージが表示され、何かを選択しない限りフォームを送信できないという要件を作成したいと思います。すべてのテキスト入力フォームで作業する必要がありますが、ドロップダウン フィールド用のフォームを作成する方法がわかりません。

ドロップダウン 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;
        }

ドロップダウンにまったく同じコーディングを試みましたが、必要に応じて異なる ID 名を使用しましたが、うまくいきませんでした。これと同じ方法がドロップダウンで機能しないのはなぜですか?

大変助かりました!

4

1 に答える 1

0

Validator() コードが何をしているのかわかりませんが、Javascript または jQuery を使用して選択フィールドが空かどうかを確認するだけです。

jQuery の方法:

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

問題は、選択ボックスに実際に値があり、最初に出力された値が何であれ、そこにある可能性があります。検証関数は任意の値をチェックしている可能性があり、選択には値があるため、有効として返されます。

「部門を選択してください」のようなデフォルト値を最初に表示するように設定してから、そのテキストの jquery/javascript チェックを行うことができます。存在する場合は、オプションが選択されていないことがわかります。

于 2013-05-07T18:02:04.287 に答える