Как передать инпуту условие?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
thundersking
Сообщения: 6
Зарегистрирован: 2021.07.29, 17:35

Как передать инпуту условие?

Сообщение thundersking »

Здравствуйте!

У меня есть форма

Код: Выделить всё

'amount' => $form->field($this, "amount")->textInput(['maxlength' => true])
                ->hint("Себестоимость: {$this->product->cost}")
Как правильно передать условие: когда значение инпута больше или равно (>=) 4000 (например), то появляется дополнительный блок?
thundersking
Сообщения: 6
Зарегистрирован: 2021.07.29, 17:35

Re: Как передать инпуту условие?

Сообщение thundersking »

И так же дополнительный вопрос)

Как получить значение инпута?
В документации не нашел ответа на вопрос...
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Как передать инпуту условие?

Сообщение unknownby »

Может стоит пробовать через JS? Сразу создать поле и сделать его не видимым, через JS вычисляет значение нужного инпута и если вдруг оно больше 4000, то отбражаем скрытое поле.
thundersking
Сообщения: 6
Зарегистрирован: 2021.07.29, 17:35

Re: Как передать инпуту условие?

Сообщение thundersking »

unknownby писал(а): 2021.07.31, 19:41 Может стоит пробовать через JS? Сразу создать поле и сделать его не видимым, через JS вычисляет значение нужного инпута и если вдруг оно больше 4000, то отбражаем скрытое поле.
Да, через JS все получается. НО мне нужно по условию. На определенный продукт.
Например, если это продукт, который относится к категории "Телефоны" то данное условия проверки инпута работает.
А если к категории "Автомобиль", то нет данной проверки..

Все же есть способы у Yii2 как получить значение инпута?
Спасибо!)
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Как передать инпуту условие?

Сообщение unknownby »

thundersking писал(а): 2021.08.02, 10:46 Все же есть способы у Yii2 как получить значение инпута?
Спасибо!)
Можно всё, главное продумать логику.
Контроллер

Код: Выделить всё

public function actionCreate()
    {
        $model = new Product;

//тут пишется магия

        return $this->render('create', [
            'model' => $model,
        ]);
    }
Представление

Код: Выделить всё

$model->amount;
Всё остальное дело логики, как написать.
Внутри action можно после выбора значения из выпадающего списка переотрисовать представление.
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Как передать инпуту условие?

Сообщение maleks »

thundersking писал(а): 2021.08.02, 10:46 Все же есть способы у Yii2 как получить значение инпута?
Спасибо!)
Это не относится к yii.
У инпута есть id, вот его значение - $('#id').val() .
Все такие проверки показ не-показ блоков в отдельном скрипте прописываются и на странице с формой подключаются
Yii2 universal module sceleton - for basic and advanced templates
Ответить