1

私の選択ボックスのhtmlは次のとおりです。

<select class=" reason_swap" id="call_type" name="call_type">
<option value=""></option>
<option title="OK - NO CHANGES" selected="" value="NC">OK - NO CHANGES</option>
<option title="OK - PENDING AUTH" value="PA">OK - PENDING AUTH</option>
<option title="OK - PENDING INS" value="IN">OK - PENDING INS</option>
<option title="OK - PENDING INS/PO" value="PI">OK - PENDING INS/PO</option>
<option title="OK - PENDING PO" value="PO">OK - PENDING PO</option></select>

このリフォーカス機能を使用して、これら 3 つのフィールドを必須にしています。

if ($this->call_type == 'NC' && $this->times_testing == '') $this->refocus('times_testing');
        if ($this->call_type == 'PA' && $this->times_testing == '') $this->refocus('times_testing');
        if ($this->call_type == 'IN' && $this->times_testing == '') $this->refocus('times_testing');

私が抱えている唯一の問題は、アラートがどのようにスローされるかについてうるさいことです.5つのオプションしかなく、5つのうち3つが基準に一致しない場合にアラートを出すので、それをしたいだけです.逆に...

post にアラート/リフォーカスするよりも PI または PO でない場合。

私はそれが簡単だと思った..次のようなもの:

if (!$this->call_type == 'PI' && !$this->call_type == 'PO' && $this->times_testing == '') $this->refocus('times_testing');

しかし、無駄に、それはうまくいきませんでした。

どんな助けでも大歓迎です。ありがとうございました。

リフォーカス機能は次のとおりです。

protected function refocus($name, $msg = '')
        {
        if (!$name) return;
        $this->halt = 1;
        $out = $msg ? $msg : _to_caps($name) . " is required...";
        $nest = $this->nest ? $this->nest . $name : $name; // no brackets on the name here since not allowed in HTML ids
        \Message::add("$out<input type='hidden' value='$nest' id='__refocus'>", 'not_ok');
        }
4

0 に答える 0