Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Добавить дату формата dd.mm.YY в поле типа Дата и время

12.07.2016, 23:43
intrell
ООО "Интрелл"

Зарегистрирован:
2008-05-05
Сообщений: 58

Есть поле в форме
Код:
<input type='text' name='f_DateBeg' value="12.06.2016" />

Как эту дату добавить в поле типа Дата и время ?

Пробовал делать что-то типа в условии добавления, но не вышло:
Код:
$totime = strtotime($f_DateBeg);
$f_DateBeg_day = date("d", $totime);
$f_DateBeg_month = date("m", $totime);
$f_DateBeg_year = date("Y", $totime);
$f_DateBeg_hours = "00";
$f_DateBeg_minutes = "00";
$f_DateBeg_seconds = "00";


<a href="https://hubhost.ru/?ref=45">HUBHOST.ru</a> – использую хостинг для NetCat
13.07.2016, 11:57
Константин
Константин Орлов

Зарегистрирован:
2010-07-20
Сообщений: 211

Вырезать мб

Код:
$f_DateBeg_year = mb_substr($f_DateBeg, 6, 4);
$f_DateBeg_month = mb_substr($f_DateBeg, 3, 2);
$f_DateBeg_day = mb_substr($f_DateBeg, 0, 2);


Разработка, доработка и поддержка проектов на NetCat и Bitrix
13.07.2016, 12:01
intrell
ООО "Интрелл"

Зарегистрирован:
2008-05-05
Сообщений: 58

Это тоже самое, что и у меня. Форма отправляется, но значение даты в базу не заносятся.

<a href="https://hubhost.ru/?ref=45">HUBHOST.ru</a> – использую хостинг для NetCat
13.07.2016, 12:08
Константин
Константин Орлов

Зарегистрирован:
2010-07-20
Сообщений: 211

У тебя же два поля? так работает, проверил
Изображение
после сохранения
Изображение

Разработка, доработка и поддержка проектов на NetCat и Bitrix
13.07.2016, 12:18
intrell
ООО "Интрелл"

Зарегистрирован:
2008-05-05
Сообщений: 58

Скиньте, пож-та, ваш шаблон компоненты. У меня что-то никак не выходит даже с вашим кодом.

<a href="https://hubhost.ru/?ref=45">HUBHOST.ru</a> – использую хостинг для NetCat
13.07.2016, 12:29
Константин
Константин Орлов

Зарегистрирован:
2010-07-20
Сообщений: 211

Код:
<?php
$f_DateBeg_year = mb_substr($f_DateStr, 6, 4);
$f_DateBeg_month = mb_substr($f_DateStr, 3, 2);
$f_DateBeg_day = mb_substr($f_DateStr, 0, 2);
$f_DateBeg_hours = "00";
$f_DateBeg_minutes = "00";
$f_DateBeg_seconds = "00";
?>

компонент

Ну или можно в действии после (добавления, изменения) вставить апдейт
Код:
$f_DateBeg_year = mb_substr($f_DateStr, 6, 4);
$f_DateBeg_month = mb_substr($f_DateStr, 3, 2);
$f_DateBeg_day = mb_substr($f_DateStr, 0, 2);
$fullDate = $f_DateBeg_year."-".$f_DateBeg_month."-".$f_DateBeg_day." 00:00:00";
$nc_core->db->query("UPDATE `Message".$classID."` SET `DateBeg` = '".$fullDate."' WHERE `Message_ID` = ".$message."");


Разработка, доработка и поддержка проектов на NetCat и Bitrix
13.07.2016, 12:34
intrell
ООО "Интрелл"

Зарегистрирован:
2008-05-05
Сообщений: 58

РЕШЕНИЕ ПРОБЛЕМЫ

Добавить в форму скрытые поля
Код:
<input type='hidden' name='f_DateBeg_day' maxlength='2' size='2' value='' />
<input type='hidden' name='f_DateBeg_month' maxlength='2' size='2' value='' />
<input type='hidden' name='f_DateBeg_year' maxlength='4' size='4' value='' />
<input type='hidden' name='f_DateBeg_hours' maxlength='2' size='2' value='' />
<input type='hidden' name='f_DateBeg_minutes' maxlength='2' size='2' value='' />
<input type='hidden' name='f_DateBeg_seconds' maxlength='2' size='2' value='' />

<input type='hidden' name='f_DateEnd_day' maxlength='2' size='2' value='' />
<input type='hidden' name='f_DateEnd_month' maxlength='2' size='2' value='' />
<input type='hidden' name='f_DateEnd_year' maxlength='4' size='4' value='' />
<input type='hidden' name='f_DateEnd_hours' maxlength='2' size='2' value='' />
<input type='hidden' name='f_DateEnd_minutes' maxlength='2' size='2' value='' />
<input type='hidden' name='f_DateEnd_seconds' maxlength='2' size='2' value='' />


<a href="https://hubhost.ru/?ref=45">HUBHOST.ru</a> – использую хостинг для NetCat
10.07.2018, 19:37
maxonline
Maxonline
maxonline

Зарегистрирован:
2009-01-12
Сообщений: 44

Вы сделали скрытые поля для каждой части даты и времени. А дальше что?
Эти поля заполнять Javascript по мере ввода даты в виде dd.mm.YYYY в видимое поле?

Максим
11.07.2018, 14:56
maxonline
Maxonline
maxonline

Зарегистрирован:
2009-01-12
Сообщений: 44

NETCAT 5.9. РЕШЕНИЕ ЗАДАЧИ: Ввод даты в формах в одно поле вместо трех

В блоке "Альтернативная форма добавления объекта"
Код:
<input type='input' name='f_Date' id='f_Date' value='00000000' style='width:60px'>


value='00000000' использую для маски ввода даты в виде "01.01.0218". Как использовать маску в полях ввода: https://habr.com/post/37249/

В блоке "Условия добавления объекта":
Код:
// Тут нужно добавить проверку значений (возможно, использовать функцию date_parse_from_format()):
list($f_Date_day, $f_Date_month, $f_Date_year) = explode('.', $f_Date);
// нужно для сохранения даты:
$_REQUEST['f_Date_year'] = $f_Date_year;
$_REQUEST['f_Date_month'] = $f_Date_month;
$_REQUEST['f_Date_day'] = $f_Date_day;


У меня все заработало в таком виде

Максим
25.07.2018, 03:46
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 570

Все верно, уже сталкивались, ключевой момент был в том, чтоб в условиях добавления определить для всех переменных еще и $_REQUEST

Ну, или да - отдельным запросом уже после добавления.

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
198 196 2018-07-25 03:46:33 14566
Описание проекта