Пользовательская кнопка «Отправить» - PullRequest
15 голосов
/ 06 июля 2010

Как создать кнопку отправки и определить для нее пользовательский заголовок вместе с пользовательским стилем класса?

Ответы [ 7 ]

33 голосов
/ 06 июля 2010

Вы можете использовать методы submit() или button() помощника по формам вместо метода end().Например:

echo $this->Form->submit(
    'Send', 
    array('class' => 'custom-class', 'title' => 'Custom Title')
);

Не забудьте закрыть форму.Вы можете сделать это, вызвав метод end() без аргументов.

echo $this->Form->end();
10 голосов
/ 06 июля 2010

Также помните, вы всегда можете сделать это Старая школа

Я предпочитаю использовать $this->Form->end( ); без аргументов и создавать свои собственные кнопки отправки и разметки. Это просто

<div class="buttons clearfix">
    <button type="submit" class="positive">
        <span class="icon-wrapper"><img src="path/to/tickmark.png" alt="" title="" /></span>
        Save Item
    </button>
</div>

Я бы также посоветовал вам поэкспериментировать с $this->Form->input('Model.field', 'options' => array( array('type' => 'button'))); - особенно с параметрами до, между, после и классом. Вы можете использовать помощник для создания <input type="button" /> элементов с достаточной гибкостью.

3 голосов
/ 01 июля 2011

Вы можете создать костюм, отправив по этому коду

echo $this->Form->submit(
    'Submit', 
    array('div' => false,'class' => 'urclass', 'title' => 'Title')
);
2 голосов
/ 06 июля 2010

Этого достаточно:

echo $this->Form->submit("Custom message");

Также, как @Mike предлагает закрыть форму с

echo $this->Form->end();
0 голосов
/ 24 января 2014

Для CakePHP 2.x вы можете использовать

$options = array(
    'label' => 'Update',
    'div' => array(
        'class' => 'glass-pill',
    )
);
echo $this->Form->end($options);
0 голосов
/ 18 октября 2013

Я создал пользовательскую кнопку, используя изображение в моей папке app / webroot / img, которая использует встроенный стиль для указания размера и изменения положения по центру

$options=array('type'=>'Make secure payment', 'type'=>'image', 'style'=>'width:200px; height:80px; display:block; margin-left:auto; margin-right:auto;');
echo $this->Form->submit('/img/axiaepaysecurebuttongray_med.png', $options);
echo $this->Form->end();
0 голосов
/ 06 июля 2010

Или вы можете комбинировать оба:

echo $this->Form->end("Custom Message");
...