Полю new fieldHidden как правильно ?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 21 сентября 2015 в 10:28
Подскажите как в форме правильно использоват поле new fieldHidden

нужно в базу заливать значение или 0 или 1.

  1. new fieldHidden('is_juridical', array(как_сюда_параметр_правильно_передать ))
а то при использовании даже просто пустого массива получаю ошибку.
#2 21 сентября 2015 в 10:37
Если нужно значение по умолчанию, то
  1. new fieldHidden('is_juridical', array(
  2. 'default' => 1
  3. ))
#3 21 сентября 2015 в 10:53


Если нужно значение по умолчанию, то

  1. new fieldHidden('is_juridical', array(
  2. 'default' => 1
  3. ))

Fuze


все равно вызывается ошибка:

Вот пример формы:

  1.  
  2. 'type' => 'fieldset',
  3. 'childs' => array(
  4. new fieldHidden('is_juridical', array(
  5. 'default' => 1 )),
  6. new fieldList('tipe_juridical',array(
  7. 'title' => 'Тип юридического лица',
  8. 'items' => array('ООО','ИП','ПАО','АО')
  9. )),
  10. new fieldString('sname_juridical',array(
  11. 'title' => 'Краткое Наименование организации',
  12. 'rules' => array(
  13. array('required'),
  14. array('max_length',255),
  15. array('min_length',2)
  16. )
  17. )),
  18.  
без поля hidden запись в базу проходит, как только добавляю поле хидден, ошибка.

Поле is_juridical в базе VARCHAR

В примерах не нашел ничего. Может не так вызываю?
#4 21 сентября 2015 в 11:07

все равно вызывается ошибка

kirkr
какая?
#5 21 сентября 2015 в 11:29
  1.  
  2. PHP Parse error: syntax error, unexpected ';', expecting ')' in /home
  3. /office/office5/system/controllers/abonent/forms/form_addurlico.php on line 140
  4.  
Если убрать поле hidden, то ошибки нет.
весь код
  1.  
  2. <?php
  3.  
  4. class formAbonentAddUrlico extends cmsForm{
  5.  
  6. public function init(){
  7. return array(
  8. 'type' => 'fieldset',
  9. 'childs' => array(
  10. new fieldHidden('is_juridical', array(
  11. 'default' => 1
  12. )),
  13.  
  14. new fieldList('tipe_juridical',array(
  15. 'title' => 'Тип юридического лица',
  16. 'items' => array('ООО','ИП','ПАО','АО')
  17. )),
  18. new fieldString('sname_juridical',array(
  19. 'title' => 'Краткое Наименование организации',
  20. 'rules' => array(
  21. array('required'),
  22. array('max_length',255),
  23. array('min_length',2)
  24. )
  25. )),
  26. new fieldString('fname_juridical',array(
  27. 'title' => 'Полное Наименование организации',
  28. 'rules' => array(
  29. array('required'),
  30. array('max_length',255),
  31. array('min_length',2)
  32. )
  33. )),
  34. new fieldString('inn_juridical',array(
  35. 'title' => 'ИНН',
  36. 'rules' => array(
  37. array('required'),
  38. array('max_length',12),
  39. array('min_length',11)
  40. )
  41. )),
  42. new fieldString('kpp_juridical',array(
  43. 'title' => 'КПП',
  44. 'rules' => array(
  45. array('required'),
  46. array('max_length',100),
  47. array('min_length',5)
  48. )
  49. )),
  50. new fieldString('bank_juridical',array(
  51. 'title' => 'Наименование банка',
  52. 'rules' => array(
  53. array('required'),
  54. array('max_length',250),
  55. array('min_length',10)
  56. )
  57. )),
  58. new fieldString('rs_juridical',array(
  59. 'title' => 'Расчетный счет',
  60. 'rules' => array(
  61. array('required'),
  62. array('max_length',100),
  63. array('min_length',10)
  64. )
  65. )),
  66. new fieldString('kor_juridical',array(
  67. 'title' => 'Корр. счет',
  68. 'rules' => array(
  69. array('required'),
  70. array('max_length',100),
  71. array('min_length',10)
  72. )
  73. )),
  74. new fieldString('bik_juridical',array(
  75. 'title' => 'БИК',
  76. 'rules' => array(
  77. array('required'),
  78. array('max_length',100),
  79. array('min_length',10)
  80. )
  81. )),
  82. new fieldString('fadress_juridical',array(
  83. 'title' => 'Почтовый/Фактический адрес',
  84. 'rules' => array(
  85. array('required'),
  86. array('max_length',100),
  87. array('min_length',10)
  88. )
  89. )),
  90. new fieldString('uadress_juridical',array(
  91. 'title' => 'Юридический адрес',
  92. 'rules' => array(
  93. array('required'),
  94. array('max_length',100),
  95. array('min_length',10)
  96. )
  97. )),
  98. new fieldString('ruk_juridical',array(
  99. 'title' => 'Руководитель ФИО',
  100. 'rules' => array(
  101. array('required'),
  102. array('max_length',100),
  103. array('min_length',10)
  104. )
  105. )),
  106. new fieldString('dosnov_juridical',array(
  107. 'title' => 'На основании',
  108. 'rules' => array(
  109. array('required'),
  110. array('max_length',100),
  111. array('min_length',3)
  112. )
  113. )),
  114.  
  115. new fieldString('work_telephone',array(
  116. 'title' => 'Контактный телефон',
  117. 'rules' => array(
  118. array('required'),
  119. array('max_length',100),
  120. array('min_length',10)
  121. )
  122. )),
  123. new fieldString('email',array(
  124. 'title' => 'E-mail',
  125. 'rules' => array(
  126. array('required'),
  127. array('max_length',100),
  128. array('min_length',10)
  129. )
  130. )),
  131. new fieldList('faktur_juridical',array(
  132. 'title' => 'Ежемесячные счета,счетфактуры',
  133. 'items' => array('Нет','Да')
  134. ))
  135.  
  136.  
  137. )
  138.  
  139. )
  140. );
  141. }
  142.  
  143. }
  144.  
#6 21 сентября 2015 в 11:40
kirkr, так у вас ошибка синтаксиса. Вставил ваш код в файл — ошибки не увидел.
#7 21 сентября 2015 в 11:45
почему тогда в форме вижу так:

<input type="hidden" class="input" name="is_juridical" value="" id="is_juridical" />
валюе пустое.
#8 21 сентября 2015 в 11:57

почему тогда в форме вижу так:

kirkr
вы запутали меня. Если видите форму, то предыдущей ошибки быть не должно.
В форме вы видите при редактировании видимо, где значение поля берется из значения в базе и дефолтное значение уже не учитывается.
#9 21 сентября 2015 в 12:02
1) Ошибка появляется после обработки формы, после нажатия кнопки сабмит, запись в базу не производится, белый экран
2) Когда открывается форма и я смотрю нутро, то значение хиддена пустое!!!


Если убрать поле хидден, то запись в базу производится как положено. вот и встает вопрос, как правильно это поле передать.
#10 21 сентября 2015 в 12:35
Поставил в базе что нулем может быть и запись стала происходить. Т.е. ошибка именно в том, что в форме параметр хиддн валуе пусто.
#11 21 сентября 2015 в 13:03

Т.е. ошибка именно в том, что в форме параметр хиддн валуе пусто.

kirkr
Так текст ошибки говорит что у вас ошибка парсинга, как это связано со значением поля?
Ошибка ясно говорит:

syntax error, unexpected ';', expecting ')'

Ошибка синтаксиса, ждали скобочку, а встретили точку с запятой
То есть в вашем коде где-то опечатка
#12 21 сентября 2015 в 13:27

Ошибка синтаксиса, ждали скобочку, а встретили точку с запятой
То есть в вашем коде где-то опечатка

r2
говорю ТРАБЛ в ТОМ, ЧТО ПОЛУ HIDENN пустое!!!!

  1.  
  2. <div id="f_is_juridical" class="field ft_hidden" >
  3.  
  4.  
  5.  
  6. <input type="hidden" class="input" name="is_juridical" value="" id="is_juridical" />
  7.  
  8.  
  9.  

в system/fields правильно функция hidden описана? у меня она вот:

  1.  
  2. <?php
  3.  
  4. class fieldHidden extends cmsFormField {
  5.  
  6. public $title = LANG_PARSER_HIDDEN;
  7. public $sql = 'varchar(255) NULL DEFAULT NULL';
  8. public $filter_type = 'str';
  9.  
  10. public function getFilterInput($value){
  11. return false;
  12. }
  13.  
  14. }
  15.  
  16.  
#13 21 сентября 2015 в 13:39

почему тогда в форме вижу так:

<input type="hidden" class="input" name="is_juridical" value="" id="is_juridical" />
валюе пустое.

kirkr

2) Когда открывается форма и я смотрю нутро, то значение хиддена пустое!!!

kirkr

говорю ТРАБЛ в ТОМ, ЧТО ПОЛУ HIDENN пустое!!!!

kirkr
kirkr, а посмотрите "нутро" других полей?! Если значения не подтягивались при генерации страницы, а вводились позже — то, как вы выразились "нутро" value покажет вам "" 😉

UPD. Понял, что вы хотите в hidden выводить что-то (0/1) при генерации формы. Как вариант попробуйте так
  1. new fieldHidden('is_juridical', array(
  2. 'default' => '1' // <- в кавычках
  3. ))
#14 21 сентября 2015 в 13:51
Val, если бы значение передавал бы пусто, то согласился бы
я же и прошу подсказать как hidden value поставить =1 и все =))) а то простая вещь, а столько проблем.

Что с кавычками, что без одно и тоже.
#15 21 сентября 2015 в 14:06
kirkr, по пустому полю я объяснил выше. Вы информации не даете, как можно помочь? Ошибка в синтаксисе, о чем вам указывает интерпретатор php. Может быть у вас при сабмите срабатывает хук или какое то другое действие, можно только гадать. В приведенном вами куске синтаксических ошибок нет. Значит они есть где то дальше в том, что подключается позже, после сабмита формы и зависит от значения в поле is_juridical. Имхо.

как hidden value поставить =1

kirkr
При загрузке формы без данных, т.е. форма пустая от значений, значние подставляется то, что указано по дефолту. Если форма заполнена данными, то значения подставляются из переданных данных.

p.s. значение в кавычках или без в данном случае не важно.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.