2

検証エラーで送信した後、div にクラスを追加します

私のコードは次のとおりです。

<div class="control-group">
    <label class="control-label">Name</label>

    <div class="controls">
        <?php echo $this->Form->input('name', array('type'=>'text','label' => false, 'pattern' => "^[a-zA-Z][a-zA-Z ]{4,}$",
                                                  'title' => "Minimum 5 letters.", "id" => "name",
                                                  'placeholder' => 'Enter your Name', 'required' => true,)); ?>
    </div>
</div>

しかし、検証が失敗した場合、フォームの送信後にこれが必要です:

<div class="control-group error">
    <label class="control-label">Name</label>

    <div class="controls">
        <?php echo $this->Form->input('name', array('type'=>'text','label' => false, 'pattern' => "^[a-zA-Z][a-zA-Z ]{4,}$",
                                                  'title' => "Minimum 5 letters.", "id" => "name",
                                                  'placeholder' => 'Enter your Name', 'required' => true,)); ?>
    </div>
</div>
4

1 に答える 1

0

1 つの方法は、javascript を使用してクラスを追加することです。たとえば、次のようなことができます。

<div class="control-group" id="THISELEMENT">
    <label class="control-label">Name</label>

    <div class="controls">
        <?php echo $this->Form->input('name', array('type'=>'text','label' => false, 'pattern' => "^[a-zA-Z][a-zA-Z ]{4,}$",
                                                  'title' => "Minimum 5 letters.", "id" => "name",
                                                  'placeholder' => 'Enter your Name', 'required' => true,)); ?>
    </div>
</div>


<script>
document.getElementById("THISELEMENT").className += " error";
</script>
于 2014-07-11T13:03:05.887 に答える