#octobercms
#octobercms
Вопрос:
==
function onCheck()
{
// It's simple page, not component, partial or controller
// Therefore this syntax is right (according October docs)
$this['myvar'] = "Hello";
}
==
<form class="dates" action="" method="POST" data-request="onCheck">
<input type='text' class='date_inout' name="start" id='start'>
<input type='text' class='date_inout' name="end" id='end'>
<input type="submit" value="Подобрать">
</form>
<h1>{{ myvar }}</h1>
myvar
не выводится. Мне нужно получить myvar
только после отправки формы, не onStart
или onInit
Заранее благодарю вас!
Ответ №1:
Вам нужен вывод только после ajax, тогда вам нужно сделать это
==
function onCheck()
{
$dates = post('start') . ' - ' . post('end');
return ['#myvarContsiner' => "Hello " . $dates];
// ^ this id
}
==
<form class="dates" action="" method="POST" data-request="onCheck">
<input type='text' class='date_inout' name="start" id='start'>
<input type='text' class='date_inout' name="end" id='end'>
<input type="submit" value="Подобрать">
</form>
<h1 id="myvarContsiner"></h1>
<!-- this id ^ -->
Теперь, когда вы нажмете,
submit button
оно перейдет кonCheck
и вернет значение,['#myvarContsiner' => "Hello " . $dates]
так что в основном"Hello " . $dates
оно будет обновлено в<h1 id="myvarContsiner"></h1>
соответствии с соответствующим идентификатором.
и ваш покажет значение, когда вы вернете его из onCheck
если у вас есть какие-либо сомнения, пожалуйста, прокомментируйте.
Комментарии:
1. На самом деле onCheck возвращает массив (результат sql-запроса). И мне нужно получить элементы массива с помощью {{ }}. Как я могу это сделать?
2. надеюсь, вы поможете
3. если вы можете поделиться своим
onCheck
кодом, я могу вам помочь